public void UpdateSystemExecute() { commandUnit.CacheCommandListToExecuteCommandList(); //功能系统顺序 for (int index = 0; index < systemFunctionTypePriorityArray.Length; index++) { ECSDefine.SystemFunctionType systemFunctionType = systemFunctionTypePriorityArray[index]; List <ECSDefine.SystemType> systemTypeList; if (function2SystemTypeDict.TryGetValue(systemFunctionType, out systemTypeList)) { // 执行系统顺序 for (int systemIndex = 0; systemIndex < systemTypeList.Count; systemIndex++) { ECSDefine.SystemType systemType = systemTypeList[systemIndex]; // 执行命令 commandUnit.PopSystemTypeCommandList(systemType); // 执行功能系统 executeSystemUnit.UpdateFunctionSystemsByFunctionTyep(systemFunctionType, systemType); } if (GameUnitSystemFunctionType == systemFunctionType) { for (int unitIndex = 0; unitIndex < ECSInstanceDefine.GameUnitPriorityList.Count; unitIndex++) { ECSInstanceDefine.GameUnitPriorityList[unitIndex].Update(); } } } } }