|
|
@@ -24,6 +24,7 @@ public class AttributeStatus : MonoBehaviour
|
|
|
|
|
|
//behit参数
|
|
|
[DisplayOnly] public bool canChangeHitStun;
|
|
|
+ [DisplayOnly] public bool haveSpecialStates;
|
|
|
[DisplayOnly] public SpecialState curSpecialStates = SpecialState.Null;
|
|
|
|
|
|
[LabelText("控制时间")] [DisplayOnly] public float attributeTime;
|
|
|
@@ -101,33 +102,38 @@ public class AttributeStatus : MonoBehaviour
|
|
|
hitFeedbackSystem.EnterHitStun(attackFrom);
|
|
|
return;
|
|
|
}
|
|
|
- hitFeedbackSystem.canHitStun = false;
|
|
|
- switch (curSpecialStates)
|
|
|
+ if (haveSpecialStates)
|
|
|
{
|
|
|
- case SpecialState.FloatState:
|
|
|
- AddFloat(attackInfo.floatState);
|
|
|
- break;
|
|
|
- case SpecialState.BlownUp:
|
|
|
- if (rb.useGravity)
|
|
|
- {
|
|
|
- AddBlowUp(attackInfo.blowUp, attackFrom.bodyTrans.localScale.x < 0 ? -1 : 1);
|
|
|
- //虾兵特殊攻击先留着
|
|
|
- //AddBlowUp(attackInfo.blowUp, attackFrom.transform.position.x < character.transform.position.x ? -1 : 1);
|
|
|
- }
|
|
|
- break;
|
|
|
- case SpecialState.ShotDown:
|
|
|
- if (!rb.useGravity)
|
|
|
- {
|
|
|
- AddShotDown(attackInfo.shotDown, attackFrom.bodyTrans.localScale.x < 0 ? -1 : 1);
|
|
|
- //虾兵特殊攻击先留着
|
|
|
- //AddShotDown(attackInfo.shotDown, attackFrom.transform.position.x < character.transform.position.x ? -1 : 1);
|
|
|
- }
|
|
|
- break;
|
|
|
- case SpecialState.Weak:
|
|
|
- AddWeak(attackInfo.weak);
|
|
|
- break;
|
|
|
+ haveSpecialStates = false;
|
|
|
+ hitFeedbackSystem.canHitStun = false;
|
|
|
+ switch (curSpecialStates)
|
|
|
+ {
|
|
|
+ case SpecialState.FloatState:
|
|
|
+ AddFloat(attackInfo.floatState);
|
|
|
+ break;
|
|
|
+ case SpecialState.BlownUp:
|
|
|
+ if (rb.useGravity)
|
|
|
+ {
|
|
|
+ AddBlowUp(attackInfo.blowUp, attackFrom.bodyTrans.localScale.x < 0 ? -1 : 1);
|
|
|
+ //虾兵特殊攻击先留着
|
|
|
+ //AddBlowUp(attackInfo.blowUp, attackFrom.transform.position.x < character.transform.position.x ? -1 : 1);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case SpecialState.ShotDown:
|
|
|
+ if (!rb.useGravity)
|
|
|
+ {
|
|
|
+ AddShotDown(attackInfo.shotDown, attackFrom.bodyTrans.localScale.x < 0 ? -1 : 1);
|
|
|
+ //虾兵特殊攻击先留着
|
|
|
+ //AddShotDown(attackInfo.shotDown, attackFrom.transform.position.x < character.transform.position.x ? -1 : 1);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case SpecialState.Weak:
|
|
|
+ AddWeak(attackInfo.weak);
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
+
|
|
|
}
|
|
|
|
|
|
//CharacterState为SpecialStatus时调用此函数
|
|
|
@@ -264,6 +270,7 @@ public class AttributeStatus : MonoBehaviour
|
|
|
if (curSpecialStates == SpecialState.Null)
|
|
|
{
|
|
|
curSpecialStates = specialState;
|
|
|
+ haveSpecialStates = true;
|
|
|
return true;
|
|
|
}
|
|
|
else
|
|
|
@@ -271,6 +278,7 @@ public class AttributeStatus : MonoBehaviour
|
|
|
if (curSpecialStates >= specialState)
|
|
|
{
|
|
|
curSpecialStates = specialState;
|
|
|
+ haveSpecialStates = true;
|
|
|
return true;
|
|
|
}
|
|
|
else
|