public static void RemoveManagedListener(IManagedEarlyUpdate behaviour) { AssertSingletonExists(); Debug.Assert(behaviour != null, "[ManagedBehaviourEngine] behaviour is null"); earlyUpdateListeners.Remove(behaviour); }
//These should not be called at runtime! only work on static behaviours. //public static void AddManagedListener(IManagedPreAwake behaviour) //{ // AssertSingletonExists(); // Debug.Assert(!preAwakeListeners.Contains(behaviour), // "[ManagedBehaviourEngine] Duplicate behaviour being subscribed!" + // " Check your subscription logic, fool!"); // preAwakeListeners.Add(behaviour); //} //public static void AddManagedListener(IManagedAwake behaviour) //{ // AssertSingletonExists(); // Debug.Assert(!awakeListeners.Contains(behaviour), // "[ManagedBehaviourEngine] Duplicate behaviour being subscribed!" + // " Check your subscription logic, fool!"); // awakeListeners.Add(behaviour); //} //public static void AddManagedListener(IManagedStart behaviour) //{ // AssertSingletonExists(); // Debug.Assert(!startListeners.Contains(behaviour), // "[ManagedBehaviourEngine] Duplicate behaviour being subscribed!" + // " Check your subscription logic, fool!"); // startListeners.Add(behaviour); //} public static void AddManagedListener(IManagedEarlyUpdate behaviour) { AssertSingletonExists(); Debug.Assert(!earlyUpdateListeners.Contains(behaviour), "[ManagedBehaviourEngine] Duplicate behaviour being subscribed!" + " Check your subscription logic, fool!"); Debug.Assert(behaviour != null, "[ManagedBehaviourEngine] behaviour is null"); earlyUpdateListeners.Add(behaviour); }