Init.cs 863 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System;
  2. using System.Threading;
  3. using UnityEngine;
  4. namespace ET
  5. {
  6. public class Init: MonoBehaviour
  7. {
  8. public static Init Instance;
  9. public GlobalConfig GlobalConfig;
  10. private void Awake()
  11. {
  12. Instance = this;
  13. DontDestroyOnLoad(gameObject);
  14. AppDomain.CurrentDomain.UnhandledException += (sender, e) =>
  15. {
  16. Log.Error(e.ExceptionObject.ToString());
  17. };
  18. SynchronizationContext.SetSynchronizationContext(ThreadSynchronizationContext.Instance);
  19. Game.ILog = new UnityLogger();
  20. ETTask.ExceptionHandler += Log.Error;
  21. Options.Instance = new Options();
  22. CodeLoader.Instance.Start();
  23. }
  24. private void Update()
  25. {
  26. Game.Update();
  27. }
  28. private void LateUpdate()
  29. {
  30. Game.LateUpdate();
  31. }
  32. private void OnApplicationQuit()
  33. {
  34. Game.Close();
  35. CodeLoader.Instance.Dispose();
  36. }
  37. }
  38. }