Beispiel #1
0
        public override void Update(GameTime gameTime)
        {
            base.Update(gameTime);
            BoundingBox.X = (int)(Transform.X);
            BoundingBox.Y = (int)(Transform.Y);
            var mouse = Engine.Input.Mouse;

            if (BoundingBox.Contains(mouse.X, mouse.Y))
            {
                if (mouse.LeftClick)
                {
                    OnMouseClick(mouse.MouseData);
                    OnMouseClickEvent?.Invoke(mouse.MouseData);
                }
                else
                {
                    _mouseHovering = true;
                    OnMouseHover(mouse.MouseData);
                    OnMouseHoverEvent?.Invoke(mouse.MouseData);
                }
            }
            else
            {
                if (_mouseHovering)
                {
                    _mouseHovering = false;
                    OnMouseExit(mouse.MouseData);
                    OnMouseExitEvent?.Invoke(mouse.MouseData);
                }
            }
        }
Beispiel #2
0
    /// <summary>
    /// Dispatches on mouse exit event
    /// </summary>
    void OnMouseExit()
    {
        // Connector is broken, ignore it
        if (IsRetracted)
        {
            return;
        }

        OnMouseExitEvent?.Invoke(this);
    }
Beispiel #3
0
 public void OnMouseExit()
 {
     OnMouseExitEvent.Invoke();
 }