Exemple #1
0
        public static void OnHover(Transform hoverSelection)
        {
            IHoverable currentHoverSelection = hoverSelection.GetComponent <IHoverable>();

            if (currentHoverSelection != null)
            {
                currentHoverSelection.OnHover();
            }
        }
Exemple #2
0
        void OnMouseButtonPressed(object sender, MouseButtonEventArgs args)
        {
            if (MouseHovering == null)
            {
                return;
            }
            MousePressing = MouseHovering;

            MousePressing.OnMousePressed(new MousePress(args, MousePress.Type.down));
        }
Exemple #3
0
    private void Hover(IHoverable _hoverable)
    {
        if (CurrentHoverable != null)
        {
            Unhover();
        }

        CurrentHoverable = _hoverable;
        CurrentHoverable.OnHover();
    }
Exemple #4
0
        void OnMouseMoved(object sender, MouseMoveEventArgs args)
        {
            IHoverable touching = Find(args.As());

            if (MouseHovering != touching)
            {
                touching?.OnMouseHovered(new MouseHover(args, MouseHover.Type.enter));
                MouseHovering?.OnMouseHovered(new MouseHover(args, MouseHover.Type.exit));

                MouseHovering = touching;
            }
            else
            {
                MouseHovering?.OnMouseHovered(new MouseHover(args, MouseHover.Type.roam));
            }
        }
    private void OnDisable()
    {
        IHoverable   hoverable   = GetComponent <IHoverable>();
        ICloseupable closeupable = GetComponent <ICloseupable>();

        if (hoverable != null)
        {
            hoverable.OnStartHoverEvent -= ShowHoverText;
            hoverable.OnEndHoverEvent   -= HideAllTexts;
        }

        if (closeupable != null)
        {
            closeupable.OnStartCloseupEvent -= ShowCloseupText;
            closeupable.OnEndCloseupEvent   -= HideAllTexts;
        }
    }
Exemple #6
0
    private void CheckForIHoverable()
    {
        RaycastHit _hit;
        Ray        _ray = Camera.main.ScreenPointToRay(Input.mousePosition);

        if (Physics.Raycast(_ray, out _hit))
        {
            IHoverable _hoverable = _hit.transform.GetComponentInParent <IHoverable>();
            if (_hoverable != null && _hoverable != CurrentFocusable)
            {
                Hover(_hoverable);
                return;
            }
        }

        if (CurrentHoverable != null)
        {
            Unhover();
        }
    }
Exemple #7
0
 void Hover()
 {
     {
         if (CastRay() != null)
         {
             if (CastRay().GetComponent <IHoverable>() != null)
             {
                 iHoverable = CastRay().GetComponent <IHoverable>();
                 hovered    = CastRay();
                 iHoverable.HoverEnter();
             }
             else
             {
                 if (iHoverable != null)
                 {
                     iHoverable.HoverExit();
                 }
                 iHoverable = null;
                 hovered    = null;
             }
         }
     }
 }
Exemple #8
0
 void OnMouseButtonReleased(object sender, MouseButtonEventArgs args)
 {
     MousePressing?.OnMousePressed(new MousePress(args, MousePress.Type.up));
     MousePressing = null;
 }
Exemple #9
0
 private void Unhover()
 {
     CurrentHoverable.OnUnhover();
     CurrentHoverable = null;
 }