public void PollEvents() { if (API.OpenVR.System != null) { for (int eventIndex = 0; eventIndex < maxEventsPerUpdate; eventIndex++) { if (API.OpenVR.System == null || !API.OpenVR.System.PollNextEvent(ref vrEvent, vrEventSize)) { break; } int uEventType = (int)vrEvent.eventType; if (debugLogAllEvents) { API.EVREventType eventType = (API.EVREventType)uEventType; Debug.Log(string.Format("[{0}] {1}", Time.frameCount, eventType.ToString())); } if (events[uEventType] != null) { events[uEventType].Invoke(vrEvent); } } } }
public void Remove(API.EVREventType eventType, UnityAction <API.VREvent_t> action) { int eventIndex = (int)eventType; if (preloadedEvents || events[eventIndex] != null) { events[eventIndex].RemoveListener(action); } }
public void Add(API.EVREventType eventType, UnityAction <API.VREvent_t> action, bool removeOtherListeners = false) { int eventIndex = (int)eventType; if (preloadedEvents == false && events[eventIndex] == null) { events[eventIndex] = new OpenVREvent(); } if (removeOtherListeners) { events[eventIndex].RemoveAllListeners(); } events[eventIndex].AddListener(action); }
public static void RemoveListener(API.EVREventType eventType, UnityAction <API.VREvent_t> action) { instance.Remove(eventType, action); }
public static void AddListener(API.EVREventType eventType, UnityAction <API.VREvent_t> action, bool removeOtherListeners = false) { instance.Add(eventType, action, removeOtherListeners); }