LogicBattleFieldStateStartingFight.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. 
  2. public class LogicBattleFieldStateStartingFight : LogicBattleFieldState
  3. {
  4. public static bool disable_sync_script_by_test = false;
  5. const float starting_fight_time = 1;
  6. public static LogicBattleFieldState Creator (LogicBattleField field)
  7. {
  8. return new LogicBattleFieldStateStartingFight (field);
  9. }
  10. public LogicBattleFieldStateStartingFight (LogicBattleField field)
  11. : base (field, LogicBattleFieldStateType.StartingFight)
  12. {
  13. }
  14. enum StartingState
  15. {
  16. None,
  17. Show_Boss_Intro, //boss展示
  18. Show_Starting, //开始战斗动画
  19. }
  20. StartingState mCurrentStartingState;
  21. float mCurrentStartingStateTime;
  22. public override void OnEnter ()
  23. {
  24. BattleMgr.Instance.SetBattleCamera();
  25. mCurrentStartingState = StartingState.None;
  26. mCurrentStartingStateTime = 0;
  27. }
  28. public override void OnLeave ()
  29. {
  30. }
  31. public override void Update (float deltaTime)
  32. {
  33. if (mCurrentStartingState == StartingState.None)
  34. {
  35. BattleMgr.Instance.ShowStartFighting();
  36. mCurrentStartingState = StartingState.Show_Starting;
  37. mCurrentStartingStateTime = 0;
  38. }
  39. else if (mCurrentStartingState == StartingState.Show_Boss_Intro)
  40. {
  41. BattleMgr.Instance.ShowStartFighting();
  42. mCurrentStartingState = StartingState.Show_Starting;
  43. mCurrentStartingStateTime = 0;
  44. }
  45. else if (mCurrentStartingState == StartingState.Show_Starting)
  46. {
  47. mCurrentStartingStateTime += deltaTime;
  48. if (mCurrentStartingStateTime >= 0.0f)
  49. NextState();
  50. }
  51. else
  52. {
  53. NextState();
  54. }
  55. }
  56. public override void OnDataChanged()
  57. {
  58. }
  59. void NextState ()
  60. {
  61. ChangeState(LogicBattleFieldStateType.Fighting);
  62. }
  63. }