BossBattleFieldStatePause.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. using UnityEngine;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. public class BossBattleFieldStatePause : BossBattleFieldState
  5. {
  6. public static BossBattleFieldState Creator(BossBattleField field)
  7. {
  8. return new BossBattleFieldStatePause(field);
  9. }
  10. public BossBattleFieldStatePause(BossBattleField field)
  11. :base(field,BossBattleFieldStateType.Pause)
  12. {
  13. }
  14. public override void OnEnter()
  15. {
  16. for (int idx = 0; idx < mField.Fighters.Count; idx++)
  17. {
  18. if (mField.Fighters[idx].IsAlive)
  19. {
  20. mField.Fighters[idx].ForceIdle();
  21. }
  22. }
  23. }
  24. public override void Update(float deltaTime)
  25. {
  26. //if (IsFieldFightersReady())
  27. //{
  28. // ChangeState(BossBattleFieldStateType.Fighting);
  29. //}
  30. //else
  31. //{
  32. mField.Battle.FighterMgr.FixedUpdate(deltaTime);
  33. //}
  34. }
  35. public override void OnLeave()
  36. {
  37. }
  38. public override void OnDataChanged()
  39. {
  40. }
  41. private bool IsFieldFightersReady()
  42. {
  43. List<Fighter> fighters = mField.Fighters;
  44. for (int idx = 0; idx < fighters.Count; idx++)
  45. {
  46. bool idleState = fighters[idx].IsIdle;
  47. if (!idleState)
  48. return false;
  49. }
  50. return true;
  51. }
  52. }