internal void AddTask(DependentTask taskBase)
        {
            UnfinishedTaskDic.SetAddValue(taskBase.Internal.TaskName, taskBase);

            if (taskBase.CheckAllDependentTaskFinished())
            {
                taskBase.ExecuteTask();
            }
        }
        internal void CheckExecuteTask()
        {
            foreach (var p in UnfinishedTaskDic)
            {
                DependentTask task = p.Value;
                if (task.Internal.bTaskRunning)
                {
                    continue;
                }

#if UNITY_EDITOR
                if (task.Internal.bTaskFinished)
                {
                    VeerDebug.LogError(" a finished task is in unfinished task list : " + task.Internal.TaskName);
                    continue;
                }
#endif

                if (task.CheckAllDependentTaskFinished())
                {
                    task.ExecuteTask();
                }
            }
        }