protected virtual ITask GetTask(string taskID) { //在场景信息里查找指定任务 ST_TaskData taskData; if (taskSceneData.listTaskData != null) { taskData = taskSceneData.listTaskData.Find((data) => data.strID == taskID); } else { taskData = default(ST_TaskData); } //如果没数据,taskData默认值的taskType=null ITask task = TaskFactoy.CreateTaskByTypeName(taskData.strTaskTypeName); if (task == null) { return(null); } //处理task的初始化数据 task.Init(GetTaskInitHashTable(taskData.arrArgumentData)); return(task); }
public static bool Execute(ST_TaskSceneData sceneData, Action callback, out ITaskExecutor executor) { executor = TaskFactoy.CreateTaskExecutorByTypeName(sceneData.strExecutorTypyName); if (executor == null) { callback?.Invoke(); return(false); } executor.Executor(sceneData, callback); return(true); }
public static ITaskExecutor Execute(ST_TaskSceneData sceneData, Action callback) { ITaskExecutor executor = TaskFactoy.CreateTaskExecutorByTypeName(sceneData.strExecutorTypyName); if (executor == null) { callback?.Invoke(); return(null); } executor.Executor(sceneData, callback); return(executor); }