|
@@ -118,8 +118,11 @@ public class PlayerController : MoveCharacter
|
|
|
public float maxFlyHeight;
|
|
public float maxFlyHeight;
|
|
|
|
|
|
|
|
[Header("召唤属性")]
|
|
[Header("召唤属性")]
|
|
|
|
|
+ [HideInInspector]
|
|
|
public float cacheDir; //召唤的时候按左右召唤结束不会响应手感不好,缓存一下,召唤后摇期间有左右响应的话会转向
|
|
public float cacheDir; //召唤的时候按左右召唤结束不会响应手感不好,缓存一下,召唤后摇期间有左右响应的话会转向
|
|
|
[HideInInspector]
|
|
[HideInInspector]
|
|
|
|
|
+ public bool cacheRush; //召唤的时候按冲刺结束不会响应手感不好,缓存一下,召唤后摇期间按下冲刺的话会冲刺
|
|
|
|
|
+ [HideInInspector]
|
|
|
public float summonTime;
|
|
public float summonTime;
|
|
|
[HideInInspector]
|
|
[HideInInspector]
|
|
|
public float cacheSummonTime; //无法召唤时按下召唤键不会召唤,手感不好,缓存几帧,在这几帧内落地会立即召唤;
|
|
public float cacheSummonTime; //无法召唤时按下召唤键不会召唤,手感不好,缓存几帧,在这几帧内落地会立即召唤;
|
|
@@ -1016,10 +1019,11 @@ public class PlayerController : MoveCharacter
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- if ((btnRushPress || cacheRushTime > 0) && mp >= rushCostMp)
|
|
|
|
|
|
|
+ if ((btnRushPress || cacheRushTime > 0 || cacheRush) && mp >= rushCostMp)
|
|
|
{
|
|
{
|
|
|
if (excludeState != CharacterState.Rush)
|
|
if (excludeState != CharacterState.Rush)
|
|
|
{
|
|
{
|
|
|
|
|
+ cacheRush = false;
|
|
|
ChangeState(CharacterState.Rush);
|
|
ChangeState(CharacterState.Rush);
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
@@ -1067,10 +1071,11 @@ public class PlayerController : MoveCharacter
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- if ((btnRushPress || cacheRushTime > 0) && mp >= rushCostMp)
|
|
|
|
|
|
|
+ if ((btnRushPress || cacheRushTime > 0 || cacheRush) && mp >= rushCostMp )
|
|
|
{
|
|
{
|
|
|
if (excludeState != CharacterState.Rush)
|
|
if (excludeState != CharacterState.Rush)
|
|
|
{
|
|
{
|
|
|
|
|
+ cacheRush = false;
|
|
|
ChangeState(CharacterState.Rush);
|
|
ChangeState(CharacterState.Rush);
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
@@ -1518,6 +1523,14 @@ public class PlayerController : MoveCharacter
|
|
|
}
|
|
}
|
|
|
break;
|
|
break;
|
|
|
case CharacterState.Summon:
|
|
case CharacterState.Summon:
|
|
|
|
|
+ if (leftDir.x > 0.3f || leftDir.x < -0.3f)
|
|
|
|
|
+ {
|
|
|
|
|
+ cacheDir = leftDir.x;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (LBisHold)
|
|
|
|
|
+ {
|
|
|
|
|
+ cacheRush = true;
|
|
|
|
|
+ }
|
|
|
if (summonTime <= 0 || btnTransfiguratePress)
|
|
if (summonTime <= 0 || btnTransfiguratePress)
|
|
|
{
|
|
{
|
|
|
if (CheckPlayerChangeState())
|
|
if (CheckPlayerChangeState())
|
|
@@ -1526,10 +1539,7 @@ public class PlayerController : MoveCharacter
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
rb.linearVelocity = Vector3.right * velocityAddition;
|
|
rb.linearVelocity = Vector3.right * velocityAddition;
|
|
|
- if (leftDir.x > 0.3f || leftDir.x < -0.3f)
|
|
|
|
|
- {
|
|
|
|
|
- cacheDir = leftDir.x;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+
|
|
|
break;
|
|
break;
|
|
|
case CharacterState.Rush:
|
|
case CharacterState.Rush:
|
|
|
if (rushTime <= 0)
|
|
if (rushTime <= 0)
|
|
@@ -1561,10 +1571,6 @@ public class PlayerController : MoveCharacter
|
|
|
// rushDir = leftDir.normalized;
|
|
// rushDir = leftDir.normalized;
|
|
|
//}
|
|
//}
|
|
|
rb.linearVelocity = rushDir * rushSpeed;
|
|
rb.linearVelocity = rushDir * rushSpeed;
|
|
|
- if (leftDir.x > 0.3f || leftDir.x < -0.3f)
|
|
|
|
|
- {
|
|
|
|
|
- cacheDir = leftDir.x;
|
|
|
|
|
- }
|
|
|
|
|
break;
|
|
break;
|
|
|
case CharacterState.Sprint:
|
|
case CharacterState.Sprint:
|
|
|
if (!btnRushKeep)
|
|
if (!btnRushKeep)
|
|
@@ -1871,18 +1877,6 @@ public class PlayerController : MoveCharacter
|
|
|
break;
|
|
break;
|
|
|
case CharacterState.Rush:
|
|
case CharacterState.Rush:
|
|
|
velocity = Vector3.zero;
|
|
velocity = Vector3.zero;
|
|
|
- if (cacheDir != 0)
|
|
|
|
|
- {
|
|
|
|
|
- if (cacheDir > 0.3f && bodyTrans.localScale.x > 0)
|
|
|
|
|
- {
|
|
|
|
|
- Turn();
|
|
|
|
|
- }
|
|
|
|
|
- else if (cacheDir < -0.3f && bodyTrans.localScale.x < 0)
|
|
|
|
|
- {
|
|
|
|
|
- Turn();
|
|
|
|
|
- }
|
|
|
|
|
- cacheDir = 0;
|
|
|
|
|
- }
|
|
|
|
|
break;
|
|
break;
|
|
|
case CharacterState.Sprint:
|
|
case CharacterState.Sprint:
|
|
|
velocity = Vector3.zero;
|
|
velocity = Vector3.zero;
|
|
@@ -1962,6 +1956,7 @@ public class PlayerController : MoveCharacter
|
|
|
velocity = Vector3.right * velocityAddition;
|
|
velocity = Vector3.right * velocityAddition;
|
|
|
rb.isKinematic = true;
|
|
rb.isKinematic = true;
|
|
|
cacheDir = 0;
|
|
cacheDir = 0;
|
|
|
|
|
+ cacheRush = false;
|
|
|
break;
|
|
break;
|
|
|
case CharacterState.Transfiguration:
|
|
case CharacterState.Transfiguration:
|
|
|
aniCollider.Play("Transfiguration", 0, 0);
|
|
aniCollider.Play("Transfiguration", 0, 0);
|
|
@@ -2000,7 +1995,6 @@ public class PlayerController : MoveCharacter
|
|
|
velocity = rushDir * rushSpeed;
|
|
velocity = rushDir * rushSpeed;
|
|
|
mp -= rushCostMp;
|
|
mp -= rushCostMp;
|
|
|
uiMp.Show(mp, totalMp);
|
|
uiMp.Show(mp, totalMp);
|
|
|
- cacheDir = 0;
|
|
|
|
|
break;
|
|
break;
|
|
|
case CharacterState.Sprint:
|
|
case CharacterState.Sprint:
|
|
|
aniCollider.Play("Sprint", 0, 0);
|
|
aniCollider.Play("Sprint", 0, 0);
|