public void RegisterStateListener(IBinaryStateListener listener, bool updateImmediately = false) { this.stateListeners.Add(listener); if (updateImmediately) { listener.OnStateChange(this, this.Alive); } }
public void RegisterSubmergedListener(IBinaryStateListener listener, bool initialState = false) { this.submergedListeners.Add(listener); if (initialState) { listener.OnStateChange(this, this.IsSubmerged); } }
public void DeregisterStateListener(IBinaryStateListener listener) { this.stateListeners.Remove(listener); }
public void DeregisterAnyTriggerListener(IBinaryStateListener listener) { this.anyTriggerListeners.Remove(listener); }
public void RegisterAnyTriggerListener(IBinaryStateListener listener) { this.anyTriggerListeners.Add(listener); }