48 lines
1.6 KiB
C#
48 lines
1.6 KiB
C#
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)
|
|
{
|
|
switch (Options.Instance.AppType)
|
|
{
|
|
case AppType.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 AppType.Watcher:
|
|
{
|
|
root.AddComponent<WatcherComponent>();
|
|
break;
|
|
}
|
|
case AppType.GameTool:
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (Options.Instance.Console == 1)
|
|
{
|
|
root.AddComponent<ConsoleComponent>();
|
|
}
|
|
}
|
|
}
|
|
} |