Ejemplo n.º 1
0
    public static bool DeleteManager(Type _Managertype)
    {
        if (Instance == null)
        {
            return(false);
        }

        if (TYPE_DICT.ContainsKey(_Managertype) == false)
        {
            return(false);
        }

        BaseObject _curObject = TYPE_DICT[_Managertype];

        TYPE_DICT.Remove(_Managertype);

        if (VOLATILE_LIST.Contains(_curObject))
        {
            VOLATILE_LIST.Remove(_curObject);
            return(true);
        }

        if (STABLE_LIST.Contains(_curObject))
        {
            STABLE_LIST.Remove(_curObject);
            return(true);
        }

        Debug.LogError("whole list has manager but no other has");
        return(false);
    }
Ejemplo n.º 2
0
    static void ResetManagers()
    {
        foreach (BaseObject _manager in VOLATILE_LIST)
        {
            if (_manager == null)
            {
                continue;
            }

            TYPE_DICT.Remove(_manager.GetType());
            //VOLATILE_LIST.Remove(_manager);
            BaseObject.ThrowObject(_manager, eThrowEventType.E_THROW_EVENT_TYPE_MANAGER_RESET);

            GameObject _container = _manager.SelfObject;
            GameObject.Destroy(_manager);

            if (_container != null)
            {
                GameObject.Destroy(_container);
            }
        }

        VOLATILE_LIST.Clear();

        foreach (BaseObject _manager in STABLE_LIST)
        {
            BaseObject.ThrowObject(_manager, eThrowEventType.E_THROW_EVENT_TYPE_MANAGER_RESET);
        }
    }
Ejemplo n.º 3
0
    public static bool AddManager(Type _Managertype, BaseObject _manager, eManagerResetType _type = eManagerResetType.VOLATILE)
    {
        if (TYPE_DICT.ContainsKey(_Managertype))
        {
            return(false);
        }

        TYPE_DICT.Add(_Managertype, _manager);

        if (_type == eManagerResetType.VOLATILE)
        {
            VOLATILE_LIST.Add(_manager);
        }
        else if (_type == eManagerResetType.STABLE)
        {
            STABLE_LIST.Add(_manager);
        }

        return(true);
    }