Files
TEngine/Assets/GameScripts/DotNet/Hotfix/Server/Demo/Robot/RobotConsoleHandler.cs
ALEXTANG 336d4b2eb9 [+] 接入ET8服务端
[+] 接入ET8服务端
2023-07-13 12:23:48 +08:00

62 lines
2.3 KiB
C#

using System;
using System.Reflection;
namespace ET.Server
{
[ConsoleHandler(ConsoleMode.Robot)]
public class RobotConsoleHandler: IConsoleHandler
{
public async ETTask Run(Fiber fiber, ModeContex contex, string content)
{
string[] ss = content.Split(" ");
switch (ss[0])
{
case ConsoleMode.Robot:
break;
case "Run":
{
int caseType = int.Parse(ss[1]);
try
{
RobotLog.Debug($"run case start: {caseType}");
await EventSystem.Instance.Invoke<RobotInvokeArgs, ETTask>(caseType, new RobotInvokeArgs() { Fiber = fiber, Content = content });
RobotLog.Debug($"run case finish: {caseType}");
}
catch (Exception e)
{
RobotLog.Debug($"run case error: {caseType}\n{e}");
}
break;
}
case "RunAll":
{
FieldInfo[] fieldInfos = typeof (RobotCaseType).GetFields();
foreach (FieldInfo fieldInfo in fieldInfos)
{
int caseType = (int)fieldInfo.GetValue(null);
if (caseType > RobotCaseType.MaxCaseType)
{
RobotLog.Debug($"case > {RobotCaseType.MaxCaseType}: {caseType}");
break;
}
try
{
RobotLog.Debug($"run case start: {caseType}");
await EventSystem.Instance.Invoke<RobotInvokeArgs, ETTask>(caseType, new RobotInvokeArgs() { Fiber = fiber, Content = content});
RobotLog.Debug($"---------run case finish: {caseType}");
}
catch (Exception e)
{
RobotLog.Debug($"run case error: {caseType}\n{e}");
break;
}
}
break;
}
}
await ETTask.CompletedTask;
}
}
}