public OperationObject AddOperationObject(int operationObjectType, int operationObjectId) { OperationObject operationObject = CreateOperationObject(operationObjectType, operationObjectId); if (operationObject != null && operationObject is PollingOperationObject) { PollingOperationObject pollingOperationObject = operationObject as PollingOperationObject; if (pollingOperationObject.IsUpdate) { List <PollingOperationObject> operationObjectList; if (!addOperationObjectListDict.TryGetValue(operationObjectType, out operationObjectList)) { operationObjectList = new List <PollingOperationObject>(); addOperationObjectListDict.Add(operationObjectType, operationObjectList); } operationObjectList.Add(pollingOperationObject); } return(operationObject); } else { Debug.LogError($"[PollingOperation] AddOperationObject Fail. Type[{operationObjectType}] is Not PollingOperationObject."); } return(null); }
public void RemoveOperationObject(int operationObjectType, PollingOperationObject operationObject) { List <PollingOperationObject> operationObjectList; if (!removeOperationObjectListDict.TryGetValue(operationObjectType, out operationObjectList)) { operationObjectList = new List <PollingOperationObject>(); removeOperationObjectListDict.Add(operationObjectType, operationObjectList); } operationObjectList.Add(operationObject); }
public void UpdatePollingOperationObjectByOperationObjectType(int operationObjectType) { List <PollingOperationObject> operationObjectList; if (updateOperationObjectListDict.TryGetValue(operationObjectType, out operationObjectList)) { for (int operationObjectIndex = 0; operationObjectIndex < operationObjectList.Count; operationObjectIndex++) { PollingOperationObject pollingOperationObject = operationObjectList[operationObjectIndex]; pollingOperationObject?.Update(); } } }
private void RemoveUpdateOperationObject(int operationObjectType, PollingOperationObject operationObject) { List <PollingOperationObject> operationObjectList; if (updateOperationObjectListDict.TryGetValue(operationObjectType, out operationObjectList)) { if (operationObjectList.Remove(operationObject) && operationObjectList.Count == 0) { bool active; if (operationObjectUpdatePriorityDict.TryGetValue(operationObjectType, out active)) { if (active == true) { operationObjectUpdatePriorityDict[operationObjectType] = false; operationObjectUpdatePriorityList.Remove(operationObjectType); } } } } }
private void AddUpdateOperationObject(int operationObjectType, PollingOperationObject operationObject) { List <PollingOperationObject> operationObjectList; if (!updateOperationObjectListDict.TryGetValue(operationObjectType, out operationObjectList)) { operationObjectList = new List <PollingOperationObject>(); removeOperationObjectListDict.Add(operationObjectType, operationObjectList); } operationObjectList.Add(operationObject); bool active; if (!operationObjectUpdatePriorityDict.TryGetValue(operationObjectType, out active)) { operationObjectUpdatePriorityDict.Add(operationObjectType, true); active = false; } if (active) { operationObjectUpdatePriorityDict[operationObjectType] = true; operationObjectUpdatePriorityList.Add(operationObjectType); } }