// -------------------------------------------

        /*
         * Will process the queue of delayed events
         */
        void Update()
        {
            if (_instance == null)
            {
                return;
            }

            // DELAYED EVENTS
            for (int i = 0; i < m_listEvents.Count; i++)
            {
                OculusEventData eventData = m_listEvents[i];
                if (eventData.Time == -1000)
                {
                    eventData.Destroy();
                    m_listEvents.RemoveAt(i);
                    break;
                }
                else
                {
                    eventData.Time -= Time.deltaTime;
                    if (eventData.Time <= 0)
                    {
                        if (OculusEvent != null)
                        {
                            OculusEvent(eventData.NameEvent, eventData.ListParameters);
                        }
                        eventData.Destroy();
                        m_listEvents.RemoveAt(i);
                        break;
                    }
                }
            }
        }
        // -------------------------------------------

        /*
         * Will dispatch a delayed Oculus event
         */
        public void ClearOculusEvents(string _nameEvent = "")
        {
            if (_nameEvent.Length == 0)
            {
                for (int i = 0; i < m_listEvents.Count; i++)
                {
                    m_listEvents[i].Time = -1000;
                }
            }
            else
            {
                for (int i = 0; i < m_listEvents.Count; i++)
                {
                    OculusEventData eventData = m_listEvents[i];
                    if (eventData.NameEvent == _nameEvent)
                    {
                        eventData.Time = -1000;
                    }
                }
            }
        }