TimeBattleStateBattle.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. using UnityEngine;
  2. using System.Collections;
  3. public class TimeBattleStateBattle : TimeBattleState
  4. {
  5. public static TimeBattleStateBattle Creator(TimeBattle battle)
  6. {
  7. return new TimeBattleStateBattle(battle);
  8. }
  9. public TimeBattleStateBattle(TimeBattle battle):
  10. base(battle,TimeBattleStateType.Battle)
  11. {
  12. }
  13. public override void OnEnter()
  14. {
  15. BattleCamera.Instance.Initialize(mBattle);
  16. MusicMgr.Instance.PlayBGMusic(mBattle.BgMusic);
  17. BattleMgr.Instance.SetBattleCamera();
  18. mBattle.Fight();
  19. }
  20. public override void Update(float deltaTime)
  21. {
  22. if (mBattle.CurBattleField != null)
  23. {
  24. #if PROFILE
  25. UnityEngine.Profiling.Profiler.BeginSample("mBattle.CurrentBattleField update");
  26. #endif
  27. mBattle.CurBattleField.Update(deltaTime);
  28. #if PROFILE
  29. UnityEngine.Profiling.Profiler.EndSample();
  30. #endif
  31. if (mBattle.CurBattleField.Result == FightingResult.Peace)
  32. {
  33. ChangeState(TimeBattleStateType.End);
  34. BattleMgr.Instance.OnBattleForceStop(true);
  35. return;
  36. }
  37. if (mBattle.CurBattleField.IsIdleState)
  38. {
  39. if(mBattle.CurBattleField.Result == FightingResult.Win)
  40. {
  41. ChangeState(TimeBattleStateType.BattleWin);
  42. }
  43. else if(mBattle.CurBattleField.Result == FightingResult.Failed)
  44. {
  45. ChangeState(TimeBattleStateType.BattleFailed);
  46. }
  47. }
  48. }
  49. else
  50. {
  51. ChangeState(TimeBattleStateType.End);
  52. }
  53. }
  54. public override void OnLeave()
  55. {
  56. }
  57. }