ProcedureMain.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using GameFramework.Event;
  5. using GameFramework.Fsm;
  6. using GameFramework.Procedure;
  7. using GameFramework.Resource;
  8. using Newtonsoft.Json;
  9. using Newtonsoft.Json.Serialization;
  10. using UnityEngine;
  11. using UnityGameFramework.Runtime;
  12. public class ProcedureMain : ProcedureBase
  13. {
  14. private bool waitChange = false;
  15. protected override void OnInit(IFsm<IProcedureManager> procedureOwner)
  16. {
  17. base.OnInit(procedureOwner);
  18. }
  19. //每次进入流程调用
  20. protected override void OnEnter(IFsm<IProcedureManager> procedureOwner)
  21. {
  22. base.OnEnter(procedureOwner);
  23. Log.Debug("进入主流程");
  24. waitChange = true;
  25. #if !UNITY_EDITOR
  26. waitChange = false;
  27. GameMain.Resource.SetResourceMode(ResourceMode.Package);
  28. GameMain.Resource.InitResources(InItResourceDone);
  29. #endif
  30. InitAddressConfig();
  31. }
  32. void InitAddressConfig() {
  33. string addressContent = File.ReadAllText(Application.dataPath + "/Config/HttpAddress.json");
  34. HttpAddressConfig config = JsonConvert.DeserializeObject<HttpAddressConfig>(addressContent);
  35. HttpAddress.docAddress = config.address.docAddress;
  36. HttpAddress.examAddress = config.address.examAddress;
  37. HttpAddress.loginAddress = config.address.loginAddress;
  38. HttpAddress.logAddress = config.address.logAddress;
  39. HttpAddress.pingAddress = config.address.pingAddress;
  40. }
  41. //update咯
  42. protected override void OnUpdate(IFsm<IProcedureManager> procedureOwner, float elapseSeconds, float realElapseSeconds)
  43. {
  44. base.OnUpdate(procedureOwner, elapseSeconds, realElapseSeconds);
  45. //切换流程样例
  46. //Debug.Log("切换ProcedureInit流程");
  47. //ChangeState<ProcedureInit>(procedureOwner);
  48. //----调试直接跳进流程
  49. if (waitChange)
  50. {
  51. waitChange = false;
  52. ChangeState<ProcedureModelView>(procedureOwner);
  53. }
  54. }
  55. //离开流程调用
  56. protected override void OnLeave(IFsm<IProcedureManager> procedureOwner, bool isShutdown)
  57. {
  58. base.OnLeave(procedureOwner, isShutdown);
  59. }
  60. private void InItResourceDone()
  61. {
  62. waitChange = true;
  63. Debug.Log("加载资源包完成");
  64. }
  65. //流程一般不会主动卸载
  66. protected override void OnDestroy(IFsm<IProcedureManager> procedureOwner)
  67. {
  68. base.OnDestroy(procedureOwner);
  69. }
  70. }