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); }
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); }