ETManager.cs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. Game.EventSystem.Add(HotUpdateCodeLoaderHotUpdate.Instance.GetAllTypes());
  21. Game.Scene.AddComponent<TimerComponent>();
  22. Game.Scene.AddComponent<CoroutineLockComponent>();
  23. Game.Scene.AddComponent<OpcodeTypeComponent>();
  24. Game.Scene.AddComponent<MessageDispatcherComponent>();
  25. Game.Scene.AddComponent<NetThreadComponent>();
  26. Game.Scene.AddComponent<SessionStreamDispatcher>();
  27. Game.Scene.AddComponent<ZoneSceneManagerComponent>();
  28. Game.Scene.AddComponent<NumericWatcherComponent>();
  29. GameGlobal.zoneScene = SceneFactory.CreateZoneScene(1, "Game", Game.Scene);
  30. }
  31. catch (Exception e)
  32. {
  33. Log.Error(e);
  34. }
  35. }
  36. private void Update()
  37. {
  38. Game.Update();
  39. }
  40. private void LateUpdate()
  41. {
  42. Game.LateUpdate();
  43. }
  44. private void OnApplicationQuit()
  45. {
  46. //退出进程被杀掉了,暂不执行
  47. //Game.Close();
  48. }
  49. }
  50. }