LogicBattleFieldStateStart.cs 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. using UnityEngine;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. /// <summary>
  5. /// 准备就位阶段
  6. /// </summary>
  7. public class LogicBattleFieldStateStart : LogicBattleFieldState
  8. {
  9. public static LogicBattleFieldState Creator (LogicBattleField field)
  10. {
  11. return new LogicBattleFieldStateStart (field);
  12. }
  13. Vector3 destPos = Vector3.zero;
  14. float intervalSpace = 7;
  15. float leftTime = 1;
  16. bool bSwitchBossIntro = false;
  17. bool switchCam = false;
  18. public LogicBattleFieldStateStart (LogicBattleField field)
  19. : base (field, LogicBattleFieldStateType.Start)
  20. {
  21. }
  22. public override void OnEnter ()
  23. {
  24. if (mField.killBoss)
  25. {
  26. if (mField.BattleInfo.ShowBossIntroType == (int)BossIntroType.Warning)
  27. BattleMgr.Instance.ShowBossWarning();
  28. else if (mField.BattleInfo.ShowBossIntroType == (int)BossIntroType.BossIntro)
  29. bSwitchBossIntro = true;
  30. if (!string.IsNullOrEmpty(mField.BattleInfo.BattleBgm))
  31. {
  32. mField.playingBattleMusic = true;
  33. MusicMgr.Instance.PlayBGMusic(mField.BattleInfo.BattleBgm);
  34. }
  35. //BattleCamera.Instance.SetBlurEffectEnabled(true);
  36. }
  37. mField.Battle.MoveToNextBattleField(false);
  38. }
  39. public override void OnLeave ()
  40. {
  41. }
  42. public override void Update (float deltaTime)
  43. {
  44. if (mField.Battle.IsAllFightersReady())
  45. {
  46. if (bSwitchBossIntro)
  47. {
  48. ChangeState(LogicBattleFieldStateType.BossIntro);
  49. }
  50. else
  51. {
  52. //BattleMgr.Instance.SetBossBattleCamera();
  53. ChangeState(LogicBattleFieldStateType.Fighting);
  54. }
  55. }
  56. else
  57. {
  58. mField.Battle.FighterMgr.FixedUpdate(deltaTime);
  59. mField.Battle.BattleScene.UpdateSceneTree(mField.TeamFighters[0].Position);
  60. }
  61. }
  62. public override void OnDataChanged()
  63. {
  64. }
  65. //void CheckSwitchCam()
  66. //{
  67. // if (switchCam) return;
  68. // if (mField.Battle.IsSelfReady())
  69. // {
  70. // if (!mField.killBoss) {
  71. // BattleMgr.Instance.LookAtBattleFieldCenter();
  72. // }
  73. // switchCam = true;
  74. // }
  75. //}
  76. }