BossBattleStatePreloading.cs 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. using UnityEngine;
  2. using System.Collections;
  3. public class BossBattleStatePreloading : BossBattleState
  4. {
  5. public static BossBattleStatePreloading Creator(BossBattle battle)
  6. {
  7. return new BossBattleStatePreloading(battle);
  8. }
  9. public BossBattleStatePreloading(BossBattle battle) :
  10. base(battle, BossBattleStateType.Preloading)
  11. {
  12. }
  13. PreloadingStep mStep = PreloadingStep.None;
  14. public override void OnEnter()
  15. {
  16. mBattle.SetLoadSetting();
  17. LoadScene();
  18. }
  19. public override void OnLeave()
  20. {
  21. mBattle.RestoreLoadSetting();
  22. }
  23. public override void Update(float deltaTime)
  24. {
  25. if (mStep == PreloadingStep.LoadingScene)
  26. {
  27. if (mBattle.BattleScene.IsLoaded)
  28. {
  29. LoadFlyWord();
  30. }
  31. }
  32. else if (mStep == PreloadingStep.LoadingFlywordAssets)
  33. {
  34. if (BattleFlyWordMgr.Instance.Loaded)
  35. LoadPrepareAssets();
  36. }
  37. else if (mStep == PreloadingStep.LoadingPrepareAssets)
  38. {
  39. if (!BattlePrepareManager.Instance.IsLoading)
  40. InstantiateGo();
  41. }
  42. else if (mStep == PreloadingStep.LoadingInstantiate)
  43. {
  44. OpenScreen();
  45. }
  46. else if (mStep == PreloadingStep.OpeningScreen)
  47. {
  48. EndLoad();
  49. }
  50. }
  51. void LoadScene()
  52. {
  53. mStep = PreloadingStep.LoadingScene;
  54. mBattle.BattleScene.StartLoad();
  55. }
  56. void LoadFlyWord()
  57. {
  58. mBattle.NotifyLoadProgress(0.3f);
  59. mStep = PreloadingStep.LoadingFlywordAssets;
  60. BattleFlyWordMgr.Instance.StartLoad();
  61. }
  62. void LoadPrepareAssets()
  63. {
  64. mBattle.NotifyLoadProgress(0.4f);
  65. mStep = PreloadingStep.LoadingPrepareAssets;
  66. BattlePrepareManager.Instance.StartLoad();
  67. }
  68. void InstantiateGo()
  69. {
  70. mStep = PreloadingStep.LoadingInstantiate;
  71. }
  72. void OpenScreen()
  73. {
  74. mStep = PreloadingStep.OpeningScreen;
  75. }
  76. void EndLoad()
  77. {
  78. mBattle.SpawnActors();
  79. mBattle.CalcTransferPoint();
  80. mBattle.OnLoadComplete();
  81. ChangeState(BossBattleStateType.Battle);
  82. }
  83. }