Beispiel #1
0
    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);
    }
Beispiel #2
0
    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);
    }
Beispiel #3
0
    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();
            }
        }
    }
Beispiel #4
0
    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);
                    }
                }
            }
        }
    }
Beispiel #5
0
    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);
        }
    }