public override void UnregisterListener(GameEvent.GameEventHandler eventHandler) { //if (ReferenceEquals(listener, null)) // return; switch (_assignmentType) { case AssignmentType.PersonalVariable: if (ReferenceEquals(_instancedVariable, null) || ReferenceEquals(IDToken, null)) { return; } _instancedVariable.UnregisterListener(IDToken, eventHandler); break; case AssignmentType.GlobalVariable: if (ReferenceEquals(_globalVariable, null)) { return; } _globalVariable.UnregisterListener(eventHandler); break; case AssignmentType.Constant: default: return; } }
// TODO: I wish these could be in base class ValueReference... public override void RegisterListener(GameEvent.GameEventHandler eventHandler, UnityEngine.Object listener) { #if UNITY_EDITOR if (!Application.isPlaying) { return; } #endif //if (ReferenceEquals(listener, null)) // return; switch (_assignmentType) { case AssignmentType.PersonalVariable: if (ReferenceEquals(_instancedVariable, null) || ReferenceEquals(IDToken, null)) { return; } _instancedVariable.RegisterListener(IDToken, eventHandler, listener); break; case AssignmentType.GlobalVariable: if (ReferenceEquals(_globalVariable, null)) { return; } _globalVariable.RegisterListener(eventHandler, listener); break; case AssignmentType.Constant: default: return; } }
public void RegisterListener(object key, GameEvent.GameEventHandler eventHandler, Object listener) { if (ReferenceEquals(eventHandler, null)) { return; } GetList(key).RegisterListener(eventHandler, listener); }
public void UnregisterListener(object key, GameEvent.GameEventHandler eventHandler) { if (ReferenceEquals(eventHandler, null)) { return; } GetVariable(key).UnregisterListener(eventHandler); }
public void RegisterListener(object key, GameEvent.GameEventHandler eventHandler, UnityEngine.Object listener) { if (ReferenceEquals(eventHandler, null)) { return; } GetVariable(key).RegisterListener(eventHandler, listener); }
private void OnEnable() { _eventHandlers.Clear(); foreach (var binding in _bindings) { var cachedBinding = binding; GameEvent.GameEventHandler eventHandler = () => { OnGameEvent(cachedBinding); }; _eventHandlers.Add(eventHandler); binding.variable.RegisterListener(eventHandler, this); } }
public abstract void UnregisterListener(GameEvent.GameEventHandler eventHandler);
public abstract void RegisterListener(GameEvent.GameEventHandler eventHandler, Object listener);
public abstract void RegisterListener(GameEvent.GameEventHandler eventHandler, UnityEngine.Object listener);