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); } }
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; }