TimeBattleFieldStateFighting.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using UnityEngine;
  2. using System.Collections;
  3. public class TimeBattleFieldStateFighting : TimeBattleFieldState
  4. {
  5. public static TimeBattleFieldStateFighting Creator(TimeBattleField field)
  6. {
  7. return new TimeBattleFieldStateFighting(field);
  8. }
  9. public TimeBattleFieldStateFighting(TimeBattleField field):
  10. base(field, TimeBattleFieldStateType.Fighting)
  11. {
  12. }
  13. public override void OnEnter()
  14. {
  15. mField.Battle.StartStatistics();
  16. mField.OnFightingStart();
  17. mField.Battle.FighterMgr.SetPveMark();
  18. }
  19. public override void Update(float deltaTime)
  20. {
  21. mField.Battle.FighterMgr.FixedUpdate(deltaTime);
  22. if (mField.Result == FightingResult.None)
  23. {
  24. mField.CheckFightingResult(mField.Battle);
  25. }
  26. switch (mField.Result)
  27. {
  28. case FightingResult.Win:
  29. ChangeState(TimeBattleFieldStateType.Win);
  30. break;
  31. case FightingResult.Failed:
  32. ChangeState(TimeBattleFieldStateType.Failed);
  33. break;
  34. case FightingResult.Peace:
  35. ChangeState(TimeBattleFieldStateType.Peace);
  36. break;
  37. }
  38. }
  39. public override void OnLeave()
  40. {
  41. if (BattleMgr.Instance.Battle.IsPlayRecord)
  42. {
  43. BattleMgr.Instance.OnReplayEnd();
  44. }
  45. mField.OnFightingEnd();
  46. }
  47. public override void OnDataChanged()
  48. {
  49. }
  50. }