|
@@ -110,6 +110,10 @@ public class PlayerController : MoveCharacter
|
|
|
public float totalSummonTime;
|
|
public float totalSummonTime;
|
|
|
[HideInInspector]
|
|
[HideInInspector]
|
|
|
public float summonTime;
|
|
public float summonTime;
|
|
|
|
|
+ public float onlySummonTime;
|
|
|
|
|
+ [HideInInspector]
|
|
|
|
|
+ public float restSummonTime;
|
|
|
|
|
+
|
|
|
[HideInInspector]
|
|
[HideInInspector]
|
|
|
public float cacheDir; //召唤的时候按左右召唤结束不会响应手感不好,缓存一下,召唤后摇期间有左右响应的话会转向
|
|
public float cacheDir; //召唤的时候按左右召唤结束不会响应手感不好,缓存一下,召唤后摇期间有左右响应的话会转向
|
|
|
[HideInInspector]
|
|
[HideInInspector]
|
|
@@ -119,7 +123,6 @@ public class PlayerController : MoveCharacter
|
|
|
[HideInInspector]
|
|
[HideInInspector]
|
|
|
public int cacheSummonId;
|
|
public int cacheSummonId;
|
|
|
|
|
|
|
|
-
|
|
|
|
|
[Header("召唤使魔")]
|
|
[Header("召唤使魔")]
|
|
|
public TextMeshProUGUI[] demonicNums;
|
|
public TextMeshProUGUI[] demonicNums;
|
|
|
public GameObject[] cannotConductFXs;
|
|
public GameObject[] cannotConductFXs;
|
|
@@ -982,6 +985,8 @@ public class PlayerController : MoveCharacter
|
|
|
{
|
|
{
|
|
|
if (excludeState != CharacterState.Rush)
|
|
if (excludeState != CharacterState.Rush)
|
|
|
{
|
|
{
|
|
|
|
|
+ restSummonTime = 0;
|
|
|
|
|
+ summonTime = 0;
|
|
|
cacheRush = false;
|
|
cacheRush = false;
|
|
|
ChangeState(CharacterState.Rush);
|
|
ChangeState(CharacterState.Rush);
|
|
|
return true;
|
|
return true;
|
|
@@ -989,16 +994,18 @@ public class PlayerController : MoveCharacter
|
|
|
}
|
|
}
|
|
|
if (rb.velocity.y > 0)
|
|
if (rb.velocity.y > 0)
|
|
|
{
|
|
{
|
|
|
- if (excludeState != CharacterState.Rise)
|
|
|
|
|
|
|
+ if (excludeState != CharacterState.Rise && restSummonTime <= 0)
|
|
|
{
|
|
{
|
|
|
|
|
+ summonTime = 0;
|
|
|
ChangeState(CharacterState.Rise);
|
|
ChangeState(CharacterState.Rise);
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
- if (excludeState != CharacterState.Fall)
|
|
|
|
|
|
|
+ if (excludeState != CharacterState.Fall && restSummonTime <= 0)
|
|
|
{
|
|
{
|
|
|
|
|
+ summonTime = 0;
|
|
|
ChangeState(CharacterState.Fall);
|
|
ChangeState(CharacterState.Fall);
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
@@ -1026,6 +1033,8 @@ public class PlayerController : MoveCharacter
|
|
|
{
|
|
{
|
|
|
if (excludeState != CharacterState.Rush)
|
|
if (excludeState != CharacterState.Rush)
|
|
|
{
|
|
{
|
|
|
|
|
+ restSummonTime = 0;
|
|
|
|
|
+ summonTime = 0;
|
|
|
cacheRush = false;
|
|
cacheRush = false;
|
|
|
ChangeState(CharacterState.Rush);
|
|
ChangeState(CharacterState.Rush);
|
|
|
return true;
|
|
return true;
|
|
@@ -1033,8 +1042,9 @@ public class PlayerController : MoveCharacter
|
|
|
}
|
|
}
|
|
|
if (btnJumpPress || cacheJumpTime > 0)
|
|
if (btnJumpPress || cacheJumpTime > 0)
|
|
|
{
|
|
{
|
|
|
- if (excludeState != CharacterState.Rise)
|
|
|
|
|
|
|
+ if (excludeState != CharacterState.Rise && restSummonTime <= 0)
|
|
|
{
|
|
{
|
|
|
|
|
+ summonTime = 0;
|
|
|
Jump();
|
|
Jump();
|
|
|
ChangeState(CharacterState.Rise);
|
|
ChangeState(CharacterState.Rise);
|
|
|
return true;
|
|
return true;
|
|
@@ -1052,16 +1062,18 @@ public class PlayerController : MoveCharacter
|
|
|
{
|
|
{
|
|
|
if (leftDir.x > 0.3f || leftDir.x < -0.3f || leftDir.y > 0.3f || leftDir.y < -0.3f)
|
|
if (leftDir.x > 0.3f || leftDir.x < -0.3f || leftDir.y > 0.3f || leftDir.y < -0.3f)
|
|
|
{
|
|
{
|
|
|
- if (excludeState != CharacterState.Run)
|
|
|
|
|
|
|
+ if (excludeState != CharacterState.Run && restSummonTime <= 0)
|
|
|
{
|
|
{
|
|
|
|
|
+ summonTime = 0;
|
|
|
ChangeState(CharacterState.Run);
|
|
ChangeState(CharacterState.Run);
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
- if (excludeState != CharacterState.Idle)
|
|
|
|
|
|
|
+ if (excludeState != CharacterState.Idle && summonTime <= 0)
|
|
|
{
|
|
{
|
|
|
|
|
+ summonTime = 0;
|
|
|
ChangeState(CharacterState.Idle);
|
|
ChangeState(CharacterState.Idle);
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
@@ -1071,24 +1083,22 @@ public class PlayerController : MoveCharacter
|
|
|
{
|
|
{
|
|
|
if (leftDir.x > 0.3f || leftDir.x < -0.3f)
|
|
if (leftDir.x > 0.3f || leftDir.x < -0.3f)
|
|
|
{
|
|
{
|
|
|
- if (excludeState != CharacterState.Run)
|
|
|
|
|
|
|
+ if (excludeState != CharacterState.Run && restSummonTime <= 0)
|
|
|
{
|
|
{
|
|
|
|
|
+ summonTime = 0;
|
|
|
ChangeState(CharacterState.Run);
|
|
ChangeState(CharacterState.Run);
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
- if (excludeState != CharacterState.Idle)
|
|
|
|
|
|
|
+ if (excludeState != CharacterState.Idle && summonTime <= 0)
|
|
|
{
|
|
{
|
|
|
- ChangeState(CharacterState.Idle);
|
|
|
|
|
|
|
+ ChangeState(CharacterState.Idle);
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
}
|
|
}
|
|
|
return false;
|
|
return false;
|
|
|
}
|
|
}
|
|
@@ -1158,6 +1168,7 @@ public class PlayerController : MoveCharacter
|
|
|
canJumpTime -= Time.deltaTime;
|
|
canJumpTime -= Time.deltaTime;
|
|
|
invincibleTime -= Time.deltaTime;
|
|
invincibleTime -= Time.deltaTime;
|
|
|
summonTime -= Time.deltaTime;
|
|
summonTime -= Time.deltaTime;
|
|
|
|
|
+ restSummonTime -= Time.deltaTime;
|
|
|
rushTime -= Time.deltaTime;
|
|
rushTime -= Time.deltaTime;
|
|
|
cacheRushTime -= Time.deltaTime;
|
|
cacheRushTime -= Time.deltaTime;
|
|
|
dieKeepTime -= Time.deltaTime;
|
|
dieKeepTime -= Time.deltaTime;
|
|
@@ -1480,12 +1491,9 @@ public class PlayerController : MoveCharacter
|
|
|
{
|
|
{
|
|
|
cacheRush = true;
|
|
cacheRush = true;
|
|
|
}
|
|
}
|
|
|
- if (summonTime <= 0)
|
|
|
|
|
|
|
+ if (CheckPlayerChangeState(CharacterState.Summon))
|
|
|
{
|
|
{
|
|
|
- if (CheckPlayerChangeState(CharacterState.Summon))
|
|
|
|
|
- {
|
|
|
|
|
- break;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ break;
|
|
|
}
|
|
}
|
|
|
rb.velocity = Vector3.right * velocityAddition;
|
|
rb.velocity = Vector3.right * velocityAddition;
|
|
|
|
|
|
|
@@ -1993,6 +2001,8 @@ public class PlayerController : MoveCharacter
|
|
|
uiMp.Show(mp, totalMp);
|
|
uiMp.Show(mp, totalMp);
|
|
|
GameObject demonicObj = PoolManager.Instantiate(prefab);
|
|
GameObject demonicObj = PoolManager.Instantiate(prefab);
|
|
|
Demonic demonic = demonicObj.GetComponent<Demonic>();
|
|
Demonic demonic = demonicObj.GetComponent<Demonic>();
|
|
|
|
|
+ onlySummonTime = demonic.summonTime;
|
|
|
|
|
+ restSummonTime = onlySummonTime;
|
|
|
demonic.id = id;
|
|
demonic.id = id;
|
|
|
demonic.playerID = playerId;
|
|
demonic.playerID = playerId;
|
|
|
if (!demonicDic.ContainsKey(id))
|
|
if (!demonicDic.ContainsKey(id))
|