Ejemplo n.º 1
0
        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);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        public void Remove(API.EVREventType eventType, UnityAction <API.VREvent_t> action)
        {
            int eventIndex = (int)eventType;

            if (preloadedEvents || events[eventIndex] != null)
            {
                events[eventIndex].RemoveListener(action);
            }
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
 public static void RemoveListener(API.EVREventType eventType, UnityAction <API.VREvent_t> action)
 {
     instance.Remove(eventType, action);
 }
Ejemplo n.º 5
0
 public static void AddListener(API.EVREventType eventType, UnityAction <API.VREvent_t> action, bool removeOtherListeners = false)
 {
     instance.Add(eventType, action, removeOtherListeners);
 }