示例#1
0
    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);
    }
示例#2
0
    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);
    }