public void RemoveSystem <T>(SystemDestructionType destructionType = SystemDestructionType.SYSTEM_REMOVAL) where T : ProvenceSystem { if (systemDictionary.ContainsKey(typeof(T))) { systemDictionary[typeof(T)].Destroy(destructionType); systemDictionary.Remove(typeof(T)); } }
public override void Destroy(SystemDestructionType destructionType) { DestroyAllObjects(); DeregisterEventListeners(); }
public void RemoveSystem <T>(T system, SystemDestructionType destructionType = SystemDestructionType.SYSTEM_REMOVAL) where T : ProvenceSystem { systemManager.RemoveSystem <T>(destructionType); }
public virtual void Destroy(SystemDestructionType destructionType) { world.eventManager.RemoveListener <WakeSystemEvent>(Awaken); world.eventManager.RemoveListener <WorldSafetyDestroy>(SafetyDestroy); DeregisterEventListeners(); }