VersusBattleFieldStateFailed.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. using UnityEngine;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. public class VersusBattleFieldStateFailed : VersusBattleFieldState
  5. {
  6. public static VersusBattleFieldState Creator(VersusBattleField field)
  7. {
  8. return new VersusBattleFieldStateFailed(field);
  9. }
  10. public VersusBattleFieldStateFailed(VersusBattleField field)
  11. : base(field, VersusBattleFieldStateType.Failed)
  12. {
  13. }
  14. float delayTime = 3;
  15. public override void OnEnter()
  16. {
  17. delayTime = 0;
  18. }
  19. public override void OnLeave()
  20. {
  21. Dispose();
  22. }
  23. public override void Update(float deltaTime)
  24. {
  25. delayTime -= deltaTime;
  26. mField.Battle.FighterMgr.FixedUpdate(deltaTime);
  27. if (delayTime <= 0)
  28. {
  29. ChangeState(VersusBattleFieldStateType.End);
  30. }
  31. }
  32. public override void OnDataChanged()
  33. {
  34. }
  35. void Dispose()
  36. {
  37. List<Fighter> fighters = mField.EnemyFighters;
  38. for (int i = fighters.Count -1; i >= 0; i--)
  39. {
  40. Fighter fighter = fighters[i];
  41. if (fighter.IsAlive)
  42. {
  43. fighter.Dispose();
  44. }
  45. }
  46. }
  47. }