void ProcessInteractables(InteractionUpdateOrder.UpdatePhase updatePhase)
 {
     foreach (var interactable in m_Interactables)
     {
         interactable.ProcessInteractable(updatePhase);
     }
 }
 void ProcessInteractors(InteractionUpdateOrder.UpdatePhase updatePhase)
 {
     foreach (var interactor in m_Interactors)
     {
         interactor.ProcessInteractor(updatePhase);
     }
 }
Пример #3
0
        public override void ProcessInteractor(InteractionUpdateOrder.UpdatePhase updatePhase)
        {
            base.ProcessInteractor(updatePhase);

            if (updatePhase == InteractionUpdateOrder.UpdatePhase.Dynamic)
            {
                // check to see if we have a new hover object
                GetValidTargets(m_ValidTargets);
                var nearestObject = m_ValidTargets.FirstOrDefault();
                if (nearestObject != m_CurrentNearestObject)
                {
                    m_CurrentNearestObject         = nearestObject;
                    m_LastTimeHoveredObjectChanged = Time.time;
                }
                //else if (nearestObject && !m_PassedHoverTimeToSelect)
                //{
                //	float progressToHoverSelect = Mathf.Clamp01((Time.time - m_LastTimeHoveredObjectChanged) / m_HoverTimeToSelect);
                //	if (progressToHoverSelect >= 1.0f)
                //		m_PassedHoverTimeToSelect = true;
                //}
            }
        }
 /// <summary>
 /// This method is called by the interaction manager to update the interactable.
 /// Please see the interaction manager documentation for more details on update order
 /// </summary>
 public virtual void ProcessInteractable(InteractionUpdateOrder.UpdatePhase updatePhase)
 {
     return;
 }