public void Update(float deltaTime) { // Residual clicking handling. if (isMouseDown && Parent.Manager.IsClickReleased) { _handle_up(Parent.Manager); } // Hover management. var IsHovered = Parent.Manager.GetHover() == Parent; if (IsHovered == false && WasHoveredLastFrame == true) { OnUnhover?.Invoke(Parent); } else if (IsHovered == true && WasHoveredLastFrame == false) { OnHover?.Invoke(Parent); } WasHoveredLastFrame = IsHovered; if (double_click_timer > 0f) { double_click_timer -= deltaTime; if (double_click_timer <= 0f) { OnClick?.Invoke(Parent); OnEndClicking?.Invoke(Parent); has_clicked = false; } } // Clicking related input. if (Parent.Manager.GetHover() == Parent) { _update(Parent.Manager, deltaTime); } }
public virtual void Unhover() { OnUnhover?.Invoke(); }