/// <summary> /// Remove observable and unsubscribe from all its events. /// </summary> /// <param name="o"></param> public bool RemoveObservable(ObservableTransform o) { if (observables.ContainsKey(o.GetHash())) { foreach (ObservableEventTypes type in observableEventTypesArray) { Remove(type, o); } o.RemoveAction(ObservableEventTypes.OnDestroyed, ObservableDestroyed); return(observables.Remove(o.GetHash())); } return(false); }
/// <summary> /// Add an observable and subscribe all pre existing actions to the relevant events. /// </summary> /// <param name="o"></param> public bool AddObservable(ObservableTransform o) { if (o != null && !observables.ContainsKey(o.GetHash())) { foreach (ObservableEventTypes type in observableEventTypesArray) { Add(type, o); } o.AddAction(ObservableEventTypes.OnDestroyed, ObservableDestroyed); observables.Add(o.GetHash(), o); return(true); } return(false); }