FighterStateDown.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using UnityEngine;
  2. using System.Collections;
  3. public class FighterStateDown : FighterState
  4. {
  5. public static FighterState Creator (Fighter fighter)
  6. {
  7. return new FighterStateDown (fighter);
  8. }
  9. public FighterStateDown (Fighter fighter)
  10. : base (fighter, FighterStateType.Down)
  11. {
  12. }
  13. public override void OnEnter (FighterStateType fromState, object param)
  14. {
  15. base.OnEnter(fromState, param);
  16. }
  17. public override void Update (float deltaTime)
  18. {
  19. //mFighter.PassiveMove.Update (deltaTime);
  20. }
  21. public override void OnDataChanged ()
  22. {
  23. if (!mStateData.IsAlive)
  24. mStateData.ChangeState(FighterStateType.BeHitDown);
  25. else if (mStateData.IsVertigo)
  26. mStateData.ChangeState(FighterStateType.Vertigo);
  27. else if (mStateData.IsSleep)
  28. mStateData.ChangeState(FighterStateType.Sleep);
  29. else if (mStateData.IsStark)
  30. mStateData.ChangeState(FighterStateType.Stark);
  31. else if (mStateData.IsGround)
  32. mStateData.ChangeState(FighterStateType.Idle);
  33. }
  34. public override FighterStateType GetTriggerNextState (FighterStateTriggerType triggerType, int checkVal = 0)
  35. {
  36. switch (triggerType) {
  37. case FighterStateTriggerType.BeHit:
  38. return FighterStateType.BeHit;
  39. case FighterStateTriggerType.NavRun:
  40. return FighterStateType.NavRun;
  41. case FighterStateTriggerType.Attack:
  42. return mFighter.CurrentBattleField.IsPlayingRecorder ? FighterStateType.Attack : FighterStateType.None;
  43. default:
  44. return FighterStateType.None;
  45. }
  46. }
  47. }