public void EnableModule(POModule m) { m.enabled = true; if (!enabledModules.Contains(m)) { enabledModules.Add(m); } try { m.OnModuleEnabled(logic); } catch (Exception e) { Debug.LogError("[ProceduralObjects] Error inside module OnModuleEnabled() method!\n" + e); } }
public void DisableModule(POModule m) { m.enabled = false; if (enabledModules.Contains(m)) { enabledModules.Remove(m); } try { m.OnModuleDisabled(logic); } catch (Exception e) { Debug.LogError("[ProceduralObjects] Error inside module OnModuleDisabled() method!\n" + e); } }
public void CloseWindow(POModule m) { if (!openedUIModules.Contains(m)) { return; } try { m.OnModuleWindowClose(logic); } catch (Exception e) { Debug.LogError("[ProceduralObjects] Error inside module OnModuleWindowClose() method!\n" + e); } openedUIModules.Remove(m); }
public POModule AddModule(POModuleType type, ProceduralObject obj) { POModule module = (POModule)Activator.CreateInstance(type.ModuleType); module.ModuleType = type; module.parentObject = obj; obj.m_modules.Add(module); module.enabled = true; modules.Add(module); enabledModules.Add(module); try { module.OnModuleCreated(logic); } catch (Exception e) { Debug.LogError("[ProceduralObjects] Error inside module OnModuleCreated() method!\n" + e); } return(module); }
public void RemoveModule(POModule m) { if (!modules.Contains(m)) { return; } try { m.OnModuleRemoved(logic); } catch (Exception e) { Debug.LogError("[ProceduralObjects] Error inside module OnModuleRemoved() method!\n" + e); } if (openedUIModules.Contains(m)) { CloseWindow(m); } if (m.parentObject.m_modules.Contains(m)) { m.parentObject.m_modules.Remove(m); } modules.Remove(m); if (enabledModules.Contains(m)) { enabledModules.Remove(m); } }