Esempio n. 1
0
    /// <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);
    }
Esempio n. 2
0
    /// <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);
    }