ProcedureSplash.cs 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. //------------------------------------------------------------
  2. // Game Framework
  3. // Copyright © 2013-2021 Jiang Yin. All rights reserved.
  4. // Homepage: https://gameframework.cn/
  5. // Feedback: mailto:ellan@gameframework.cn
  6. //------------------------------------------------------------
  7. using GameFramework.Resource;
  8. using UnityGameFramework.Runtime;
  9. using ProcedureOwner = GameFramework.Fsm.IFsm<GameFramework.Procedure.IProcedureManager>;
  10. namespace GFMain
  11. {
  12. public class ProcedureSplash : ProcedureBase
  13. {
  14. public override bool UseNativeDialog
  15. {
  16. get
  17. {
  18. return true;
  19. }
  20. }
  21. //bool showMessage = false;
  22. protected override void OnEnter(ProcedureOwner procedureOwner)
  23. {
  24. base.OnEnter(procedureOwner);
  25. //showMessage = false;
  26. }
  27. protected override void OnUpdate(ProcedureOwner procedureOwner, float elapseSeconds, float realElapseSeconds)
  28. {
  29. base.OnUpdate(procedureOwner, elapseSeconds, realElapseSeconds);
  30. // TODO: 这里可以播放一个 Splash 动画
  31. // ...
  32. if (MainEntry.Base.EditorResourceMode)
  33. {
  34. // 编辑器模式
  35. Log.Info("Editor resource mode detected.");
  36. ChangeState<ProcedurePreload>(procedureOwner);
  37. }
  38. else if (MainEntry.Resource.ResourceMode == ResourceMode.Package)
  39. {
  40. // 单机模式
  41. Log.Info("Package resource mode detected.");
  42. ChangeState<ProcedureInitResources>(procedureOwner);
  43. }
  44. else
  45. {
  46. #if UNITY_SERVER //服务器端以单机模式运行
  47. Log.Info("Package resource mode detected.");
  48. ChangeState<ProcedureInitResources>(procedureOwner);
  49. return;
  50. #endif
  51. // 可更新模式
  52. Log.Info("Updatable resource mode detected.");
  53. //if (showMessage)
  54. // return;
  55. //MainEntry.CommonUI.messageBox.ShowMessage("是否检查更新?", UnityCommon.MessageBoxParams.MessageType.ConfirmCancel, (res) =>
  56. //{
  57. // if (res == UnityCommon.MessageBoxParams.ResultType.Confirm)
  58. // {
  59. ChangeState<ProcedureCheckVersion>(procedureOwner);
  60. // }
  61. // else
  62. // {
  63. // ChangeState<ProcedureCheckResources>(procedureOwner);
  64. // }
  65. //});
  66. //showMessage = true;
  67. }
  68. }
  69. }
  70. }