public void OnColliderEventHoverEnter(ColliderHoverEventData eventData) { m_stayingEventDataSet.Add(eventData); if (m_stayingEventDataSet.Count == 1) { InvokeEnterEvent(eventData); ViveColliderEventCaster caster; if (eventData.TryGetEventCaster(out caster)) { m_stayingTransform = caster.transform; } } InvokeEveryEnterEvent(eventData); }
public void OnColliderEventHoverExit(ColliderHoverEventData eventData) { m_stayingEventDataSet.Remove(eventData); ViveColliderEventCaster caster; if (eventData.TryGetEventCaster(out caster)) { if (m_stayingTransform == caster.transform) { m_stayingTransform = null; } } if (m_stayingEventDataSet.Count == 0) { InvokeExitEvent(eventData); } InvokeEveryExitEvent(eventData); }