/// <summary> /// Event raised when the user was hovering somethinf with a VR Raycaster, and just stop hovering it /// </summary> /// <param name="raycastOrigin">The Origin of the ray that just hovered something</param> /// <param name="unhoveredObject">The GameObject that was hovered by the user, but isn't anymore (must have a collider)</param> public OnStopHoveringObject(ERayOrigin raycastOrigin, GameObject unhoveredObject) : base("Event raised when the user was hovering somethinf with a VR Raycaster, and just stop hovering it") { RaycastOrigin = raycastOrigin; UnhoveredObject = unhoveredObject; if (unhoveredObject != null) { var selectableObject = unhoveredObject.GetComponent <UnityEngine.UI.Selectable>(); if (selectableObject != null) { selectableObject.OnDeselect(null); } } HoveringVariablesContainer.SetCurrentHoveredObjects(raycastOrigin, null); FireEvent(this); }
/// <summary> /// Event raised when the user start to hover an object with a VR Raycaster /// </summary> /// <param name="raycastOrigin">The Origin of the ray that just hovered something</param> /// <param name="objectHovered">The GameObject that was just hovered by the user (must have a collider)</param> public OnStartHoveringObject(ERayOrigin raycastOrigin, GameObject objectHovered) : base("Event raised when the user start to hover an object with a VR Raycaster") { // We set the object that was Hovered as the selected gameObject if (objectHovered != null) { EventSystem.current.SetSelectedGameObject(objectHovered.gameObject); var selectableObject = objectHovered.GetComponent <UnityEngine.UI.Selectable>(); if (selectableObject != null) { selectableObject.OnSelect(null); } } RaycastOrigin = raycastOrigin; HoveredObject = objectHovered; HoveringVariablesContainer.SetCurrentHoveredObjects(raycastOrigin, objectHovered); FireEvent(this); }