protected EventSubscriber WrapEventListener(InputEventListener listener) { return((e) => { InputEventType eventType; if (e.Type == EventPress) { eventType = InputEventType.Press; } else if (e.Type == EventRepeatPress) { eventType = InputEventType.RepeatPress; } else if (e.Type == EventRelease) { eventType = InputEventType.Release; } else { return; } InputEvent evt = new InputEvent { Control = (InputControl)e.Source, Type = eventType }; if (listener(evt.Control, evt)) { e.Consume(); } }); }
public static void Remove(InputEventListener item) { if (!get().list.Contains(item)) { get().list.Add(item); } }
public void UnregisterListener(InputEventListener listener) { if (eventListeners.Contains(listener)) { eventListeners.Remove(listener); } }
public void RegisterListener(InputEventListener listener) { if (!eventListeners.Contains(listener)) { eventListeners.Add(listener); } }
public static void AddComponentAtRunTime(GameObject _entity, InputEvent _eventToReact, UnityAction <ScriptableObject> _onInvoke) { InputEventListener newListener = _entity.AddComponent <InputEventListener>(); newListener.eventToReact = _eventToReact; _eventToReact.Register(newListener); newListener.onReceiveEvent = new attachedUnityEvent(); newListener.onReceiveEvent.AddListener(_onInvoke); }
private void Awake() { if (listener == null) { Debug.Log("Missing InputEventListener reference in interactor of " + gameObject.name + ". Trying to find component."); listener = GetComponent <InputEventListener>(); } listener.enabled = false; attachedInventory = GetComponent <ItemContainer>().inventory; }
public void RemoveListener(InputEventListener listener) { EventSubscriber wrapper; if (!_EventListeners.TryGetValue(listener, out wrapper)) { return; } EventBus.Unsubscribe(this, null, wrapper); _EventListeners.Remove(listener); }
public InputEventSubscription AddListener(InputEventListener listener) { if (_EventListeners.ContainsKey(listener)) { throw new InvalidOperationException("Listener is already subscribed to this control"); } var wrapper = WrapEventListener(listener); EventBus.Subscribe(this, null, wrapper); _EventListeners[listener] = wrapper; return(new InputEventSubscription(this, listener)); }
public void DeregisterListener(InputEventListener listener, InputCode ic) { inputs[(int)ic].DeregisterListener(listener); }
public void Unsubscribe(InputEventListener listener) { Initialize(); listeners.Remove(listener); }
public void Subscribe(InputEventListener listener) { Initialize(); listeners.Add(listener); }
public void AddListener(InputEventListener listener) { listeners.Add(listener); }
public void DeRegister(InputEventListener listenerToRegister) { listListeners.Remove(listenerToRegister); }
public void Register(InputEventListener listenerToRegister) { listListeners.Add(listenerToRegister); }
public InputEventSubscription(InputControl control, InputEventListener listener) { Control = control; Listener = listener; }