/// <summary> /// Unsubscribe a given listener /// from the collection that it /// was assigned to /// </summary> /// <param name="listener">The listener to be removed</param> public void Unsubscribe(IButtonListener listener) { // Get the button(s) that the VRDControllerButtonListener // was getting input from OVRInput.Button targetButton = listener.TargetButton; // Check to see if each of our // buttons were being listened to. // When one is found, remove the // listener from the appropriate // collection if (targetButton.HasFlag(OVRInput.Button.One)) { Unsubscribe(listener, ref buttonOneListeners); } if (targetButton.HasFlag(OVRInput.Button.Two)) { Unsubscribe(listener, ref buttonTwoListeners); } if (targetButton.HasFlag(OVRInput.Button.PrimaryThumbstick)) { Unsubscribe(listener, ref thumbstickListeners); } if (targetButton.HasFlag(OVRInput.Button.PrimaryIndexTrigger)) { Unsubscribe(listener, ref indexTriggerListeners); } if (targetButton.HasFlag(OVRInput.Button.PrimaryHandTrigger)) { Unsubscribe(listener, ref gripTriggerListeners); } }
public void ReceiveInput(OVRInput.Button button) { if (acceptedButtons.HasFlag(button)) { TriggerEvents(); } }