You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
2.2 KiB
62 lines
2.2 KiB
3 years ago
|
using System;
|
||
|
using System.Reflection;
|
||
|
|
||
|
namespace ET
|
||
|
{
|
||
|
[ConsoleHandler(ConsoleMode.Robot)]
|
||
|
public class RobotConsoleHandler: IConsoleHandler
|
||
|
{
|
||
|
public async ETTask Run(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 RobotCaseDispatcherComponent.Instance.Run(caseType, 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 RobotCaseDispatcherComponent.Instance.Run(caseType, content);
|
||
|
RobotLog.Debug($"---------run case finish: {caseType}");
|
||
|
}
|
||
|
catch (Exception e)
|
||
|
{
|
||
|
RobotLog.Debug($"run case error: {caseType}\n{e}");
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
await ETTask.CompletedTask;
|
||
|
}
|
||
|
}
|
||
|
}
|