protected virtual void OnEnable()
 {
     if (m_RequiresRegistration)
     {
         FindCreateInteractionManager();
         if (m_RegisteredInteractionManager)
         {
             m_RegisteredInteractionManager.RegisterInteractor(this);
         }
         m_RequiresRegistration = false;
     }
     EnableInteractions(true);
 }
        void RegisterWithInteractionMananger()
        {
            if (m_InteractionManager != m_RegisteredInteractionManager)
            {
                if (m_RegisteredInteractionManager != null && m_InteractionManager != m_RegisteredInteractionManager)
                {
                    m_RegisteredInteractionManager.UnregisterInteractor(this);
                    m_RegisteredInteractionManager = null;
                }
                if (m_InteractionManager)
                {
                    m_InteractionManager.RegisterInteractor(this);
                    m_RegisteredInteractionManager = m_InteractionManager;
                }
            }

            if (m_RegisteredInteractionManager != null)
            {
                m_RequiresRegistration = false;
            }
        }