public BattleOrder TakeInputJob(List <LuaTable> taskTable) { _curOrder = new BattleOrder(); _curOrder.type = OrderType.Play; _curOrder.bFinish = false; _curOrder.tasks = new List <IInputTask>(); for (int i = 0; i < taskTable.Count; ++i) { InputTaskType taskType = (InputTaskType)taskTable[i].Get <int>("taskType"); var task = CreateTask(taskType); task.InjectData(taskTable[i]); _curOrder.tasks.Add(task); } return(_curOrder); }
private IInputTask CreateTask(InputTaskType taskType) { switch (taskType) { case InputTaskType.Target: { var task = new UnitInputTask(); return(task); } case InputTaskType.Path: { var task = new PathInputTask(); return(task); } } return(null); }