public static void UnRegisterModifierWithSpawners(GameObject target, ISpawnerModifier modifier) { using (var lst = com.spacepuppy.Collections.TempCollection.GetList <ISpawner>()) { target.GetComponents <ISpawner>(lst); var e = lst.GetEnumerator(); while (e.MoveNext()) { e.Current.Mechanism.UnRegisterModifier(modifier); } } }
public bool UnRegisterModifier(ISpawnerModifier modifier) { if (_modifiers == null) { return(false); } if (modifier == null) { return(false); } return(_modifiers.Remove(modifier)); }
public void RegisterModifier(ISpawnerModifier modifier) { if (modifier == null) { throw new System.ArgumentNullException("modifier"); } if (_modifiers == null) { _modifiers = new BinaryHeap <ISpawnerModifier>(SpawnerModifierComparer.Default); } if (!_modifiers.Contains(modifier)) { _modifiers.Add(modifier); } }