| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- using System;
- using System.Net;
- namespace ET.Server
- {
- [Event(SceneType.Main)]
- public class EntryEvent2_InitServer: AEvent<Scene, EntryEvent2>
- {
- protected override async ETTask Run(Scene root, EntryEvent2 args)
- {
- int sceneType = SceneTypeSingleton.Instance.GetSceneType(Options.Instance.SceneName);
- switch (sceneType)
- {
- case SceneType.Server:
- {
- int process = root.Fiber.Process;
- StartProcessConfig startProcessConfig = StartProcessConfigCategory.Instance.Get(process);
- if (startProcessConfig.Port != 0)
- {
- await FiberManager.Instance.Create(SchedulerType.ThreadPool, ConstFiberId.NetInner, 0, SceneType.NetInner, "NetInner");
- }
- // 根据配置创建纤程
- var processScenes = StartSceneConfigCategory.Instance.GetByProcess(process);
- foreach (StartSceneConfig startConfig in processScenes)
- {
- await FiberManager.Instance.Create(SchedulerType.ThreadPool, startConfig.Id, startConfig.Zone, startConfig.Type, startConfig.Name);
- }
- break;
- }
- case SceneType.Watcher:
- {
- root.AddComponent<WatcherComponent>();
- break;
- }
- case SceneType.GameTool:
- {
- break;
- }
- }
- if (Options.Instance.Console == 1)
- {
- root.AddComponent<ConsoleComponent>();
- }
- }
- }
- }
|