| 1234567891011121314151617181920212223242526272829303132333435 |
- namespace ET.Client
- {
- [Event(SceneType.Process)]
- public class AppStart_Init: AEvent<Scene, EventType.AppStart>
- {
- protected override async ETTask Run(Scene scene, EventType.AppStart args)
- {
- Game.Scene.AddComponent<TimerComponent>();
- Game.Scene.AddComponent<CoroutineLockComponent>();
- // 加载配置
- Game.Scene.AddComponent<ResourcesComponent>();
- await ResourcesComponent.Instance.LoadBundleAsync("config.unity3d");
- Game.Scene.AddComponent<ConfigComponent>().ConfigLoader = new ConfigLoader();
- ConfigComponent.Instance.Load();
- ResourcesComponent.Instance.UnloadBundle("config.unity3d");
-
- Game.Scene.AddComponent<OpcodeTypeComponent>();
- Game.Scene.AddComponent<MessageDispatcherComponent>();
-
- Game.Scene.AddComponent<NetThreadComponent>();
- Game.Scene.AddComponent<SessionStreamDispatcher>();
- Game.Scene.AddComponent<ClientSceneManagerComponent>();
-
- Game.Scene.AddComponent<GlobalComponent>();
- Game.Scene.AddComponent<NumericWatcherComponent>();
- Game.Scene.AddComponent<AIDispatcherComponent>();
- await ResourcesComponent.Instance.LoadBundleAsync("unit.unity3d");
-
- Scene clientScene = Client.SceneFactory.CreateClientScene(1, "Game", Game.Scene);
-
- await Game.EventSystem.PublishAsync(clientScene, new EventType.AppStartInitFinish());
- }
- }
- }
|