ETManager.cs 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. using ET;
  2. using GFGGame.Launcher;
  3. using System;
  4. using System.Threading;
  5. using UnityEngine;
  6. namespace GFGGame
  7. {
  8. public class ETManager : SingletonMonoBase<ETManager>
  9. {
  10. public void Init()
  11. {
  12. AppDomain.CurrentDomain.UnhandledException += (sender, e) => { Log.Error(e.ExceptionObject.ToString()); };
  13. SynchronizationContext.SetSynchronizationContext(ThreadSynchronizationContext.Instance);
  14. ETTask.ExceptionHandler += Log.Error;
  15. Log.ILog = new UnityLogger();
  16. Options.Instance = new Options();
  17. TimeInfo.Instance.TimeZone = 8;
  18. try
  19. {
  20. Debug.Log($"正在初始化HotUpdateCodeLoaderHotUpdate");
  21. Game.EventSystem.Add(HotUpdateCodeLoaderHotUpdate.Instance.GetAllTypes());
  22. Debug.Log($"正在初始化 TimerComponent");
  23. Game.Scene.AddComponent<TimerComponent>();
  24. Debug.Log($"正在初始化 CoroutineLockComponent");
  25. Game.Scene.AddComponent<CoroutineLockComponent>();
  26. Debug.Log($"正在初始化 OpcodeTypeComponent");
  27. Game.Scene.AddComponent<OpcodeTypeComponent>();
  28. Debug.Log($"正在初始化 MessageDispatcherComponent");
  29. Game.Scene.AddComponent<MessageDispatcherComponent>();
  30. Debug.Log($"正在初始化 NetThreadComponent");
  31. Game.Scene.AddComponent<NetThreadComponent>();
  32. Debug.Log($"正在初始化 SessionStreamDispatcher");
  33. Game.Scene.AddComponent<SessionStreamDispatcher>();
  34. Debug.Log($"正在初始化 ZoneSceneManagerComponent");
  35. Game.Scene.AddComponent<ZoneSceneManagerComponent>();
  36. Debug.Log($"正在初始化 NumericWatcherComponent");
  37. Game.Scene.AddComponent<NumericWatcherComponent>();
  38. GameGlobal.zoneScene = SceneFactory.CreateZoneScene(1, "Game", Game.Scene);
  39. }
  40. catch (Exception e)
  41. {
  42. Log.Error(e);
  43. }
  44. }
  45. private void Update()
  46. {
  47. Game.Update();
  48. }
  49. private void LateUpdate()
  50. {
  51. Game.LateUpdate();
  52. }
  53. private void OnApplicationQuit()
  54. {
  55. //退出进程被杀掉了,暂不执行
  56. //Game.Close();
  57. }
  58. }
  59. }