Entry.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. namespace ET
  2. {
  3. public struct EntryEvent1
  4. {
  5. }
  6. public struct EntryEvent2
  7. {
  8. }
  9. public struct EntryEvent3
  10. {
  11. }
  12. public static class Entry
  13. {
  14. public static void Init()
  15. {
  16. }
  17. public static void Start()
  18. {
  19. StartAsync().Coroutine();
  20. }
  21. private static async ETTask StartAsync()
  22. {
  23. WinPeriod.Init();
  24. // 注册Mongo type
  25. MongoRegister.Init();
  26. World.Instance.AddSingleton<IdGenerater>();
  27. World.Instance.AddSingleton<OpcodeType>();
  28. World.Instance.AddSingleton<ObjectPool>();
  29. World.Instance.AddSingleton<MessageQueue>();
  30. World.Instance.AddSingleton<NetServices>();
  31. World.Instance.AddSingleton<NavmeshComponent>();
  32. World.Instance.AddSingleton<LogMsg>();
  33. // 创建需要reload的code singleton
  34. CodeTypes.Instance.CreateCode();
  35. await World.Instance.AddSingleton<ConfigLoader>().LoadAsync();
  36. await FiberManager.Instance.Create(SchedulerType.Main, ConstFiberId.Main, 0, SceneType.Main, "");
  37. }
  38. }
  39. }