Пример #1
0
    public void ExecuteCacheSynchroValueRsp()
    {
        for (int index = 0; index < synchroValueRspList.Count; index++)
        {
            SynchroValueRsp synchroValueRsp = synchroValueRspList[index];

            ECSDefine.ComponentType             componentType = synchroValueRsp.GetComponentType();
            ECSDefine.SynchroValueRspSystemType synchroValueRspSystemType;
            if (!ECSInstanceDefine.RequireComponentType2ExecuteSystem.TryGetValue(componentType, out synchroValueRspSystemType))
            {
                Debug.LogError($"[SynchronizationUnit] ExecuteCacheSynchroValueRsp Fail. {Enum.GetName(typeof(ECSDefine.ComponentType), componentType)}");
                continue;
            }
            SynchroValueRsp.SynchroValueRspStructure synchroValueRspStructure = synchroValueRsp.GetSynchroValueRspStructure();
            executeSystemUnit.ExecuteSynchroValueRspSystem(synchroValueRspSystemType, synchroValueRspStructure);
        }
        synchroValueRspList.Clear();
    }
Пример #2
0
    public void ExecuteSynchroValueRspSystem(ECSDefine.SynchroValueRspSystemType systemType, SynchroValueRsp.SynchroValueRspStructure synchroValueRspStructure)
    {
        int             synchroValueRspSystemId = synchroValueRspSystemIdDistributionChunk.Pop();
        OperationObject operationObject         = synchroValueRspSystemOperation.CreateOperationObject((int)systemType, synchroValueRspSystemId);

        if (operationObject == null)
        {
            Debug.LogError($"[ECSModule] ExecuteSynchroValueRspSystem Fail. systemType:{Enum.GetName(typeof(ECSDefine.SynchroValueRspSystemType), systemType)}");
            return;
        }

        BaseSynchroValueRspSystem synchroValueRspSystem = operationObject as BaseSynchroValueRspSystem;

        synchroValueRspSystem.SetGlobalUnionId(GlobalUnionId);
        synchroValueRspSystem.Execute(synchroValueRspStructure);

        synchroValueRspSystemOperation.DeleteOperationObject((int)systemType, operationObject);//执行完毕回收
    }
 public abstract void Execute(SynchroValueRsp.SynchroValueRspStructure synchroValueRspStructure);