public static void OnHover(Transform hoverSelection) { IHoverable currentHoverSelection = hoverSelection.GetComponent <IHoverable>(); if (currentHoverSelection != null) { currentHoverSelection.OnHover(); } }
void OnMouseButtonPressed(object sender, MouseButtonEventArgs args) { if (MouseHovering == null) { return; } MousePressing = MouseHovering; MousePressing.OnMousePressed(new MousePress(args, MousePress.Type.down)); }
private void Hover(IHoverable _hoverable) { if (CurrentHoverable != null) { Unhover(); } CurrentHoverable = _hoverable; CurrentHoverable.OnHover(); }
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; } }
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(); } }
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; } } } }
void OnMouseButtonReleased(object sender, MouseButtonEventArgs args) { MousePressing?.OnMousePressed(new MousePress(args, MousePress.Type.up)); MousePressing = null; }
private void Unhover() { CurrentHoverable.OnUnhover(); CurrentHoverable = null; }