Exemplo n.º 1
0
 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);
 }
Exemplo n.º 2
0
        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);
        }
        public void Executor(ST_TaskSceneData taskSceneData, Action callback)
        {
            if (MainTask != null && MainTask.eM_TaskStage == EM_TaskStage.OnTask)
            {
                throw new Exception("当前任务还在执行中,不能开启新任务");
            }

            this.taskSceneData = taskSceneData;
            MainTask           = GetTask(taskSceneData.strMainTaskID);
            if (MainTask != null)
            {
                MainTask.StartTask(callback, taskEvent);
            }
            else
            {
                callback?.Invoke();
            }
        }
Exemplo n.º 4
0
        public TaskSceneEditor(ST_TaskSceneData sceneData, ITaskSceneEditorView taskSceneEditorView)
        {
            editorView = taskSceneEditorView;
            editorView?.Init(this, TaskTypeMgr.Ins.GetTaskTypeList());

            listTaskEditor = new List <TaskEditor>();

            if (sceneData.listTaskData != null)
            {
                for (int i = 0; i < sceneData.listTaskData.Count; i++)
                {
                    AddTask(sceneData.listTaskData[i]);
                }
            }

            strMainTaskID = sceneData.strMainTaskID;

            listSceneArgumentData = sceneData.listSceneArgumentData;
            editorView?.OnSceneArgumentChange(listSceneArgumentData);

            editorView?.Reset(sceneData);
            editorView?.OnSetMainTask(sceneData.strMainTaskID);
        }