Пример #1
0
        public void RemoveModule <TModule> (object moduleId = null) where TModule : CocoModuleBase
        {
            Dictionary <object, CocoModuleBase> moduleDic = GetModuleDic <TModule> ();
            string moduleKey = GetModuleKeyById(ref moduleId);

            if (!moduleDic.ContainsKey(moduleKey))
            {
                Debug.LogWarningFormat("{0}->RemoveModule: NOT need remove module [{1}<{2}>], because id don't exist!", GetType(), moduleId, typeof(TModule).Name);
                return;
            }

            // clean module
            CocoModuleBase module = moduleDic [moduleKey];

            module.Clean();
            CocoRoot.Unbind <TModule> (moduleId);
            moduleDic.Remove(moduleKey);

            // destroy module
            Destroy(module.gameObject);
        }
Пример #2
0
 protected void Unbind <T> ()
 {
     CocoRoot.Unbind <T> (ID);
 }