Entry.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System.Collections.Generic;
  2. namespace ET
  3. {
  4. public struct EntryEvent1
  5. {
  6. }
  7. public struct EntryEvent2
  8. {
  9. }
  10. public struct EntryEvent3
  11. {
  12. }
  13. public static class Entry
  14. {
  15. public static void Init()
  16. {
  17. }
  18. public static void Start()
  19. {
  20. StartAsync().Coroutine();
  21. }
  22. private static async ETTask StartAsync()
  23. {
  24. WinPeriod.Init();
  25. World.Instance.AddSingleton<MongoSingleton>();
  26. // 注册Mongo type,mongo驱动是放在static字段中,假如需要清理,可以在MongoSingleton Destroy中清理
  27. MongoRegister.Register();
  28. World.Instance.AddSingleton<IdGenerater>();
  29. World.Instance.AddSingleton<OpcodeType>();
  30. World.Instance.AddSingleton<ObjectPool>();
  31. World.Instance.AddSingleton<MessageQueue>();
  32. World.Instance.AddSingleton<NetServices>();
  33. World.Instance.AddSingleton<NavmeshComponent>();
  34. World.Instance.AddSingleton<LogMsg>();
  35. // 创建需要reload的code singleton
  36. CodeTypes.Instance.CreateCode();
  37. await FiberManager.Instance.Create(SchedulerType.Main, ConstFiberId.Main, 0, SceneType.Main, "");
  38. }
  39. }
  40. }