internal override void Update(GuiMouseState mouseState) { if (this.ContainsPoint(mouseState.MouseX, mouseState.MouseY)) { if (!this.Hovered) { this.Hovered = true; Gui.InvalidateVisual(); } if (mouseState.MouseLeftDown && !this.Active) { this.Active = true; OnPressed?.Invoke(this, EventArgs.Empty); Gui.InvalidateVisual(); } else if (!mouseState.MouseLeftDown && this.Active) { this.Active = false; OnReleased?.Invoke(this, EventArgs.Empty); OnClick?.Invoke(this, EventArgs.Empty); Gui.InvalidateVisual(); } } else { if (this.Hovered) { if (this.Active) { this.Active = false; } this.Hovered = false; Gui.InvalidateVisual(); } } }
internal GuiButton(Gui gui, GuiContainer parent) : base(gui, parent) { w = DefaultSize.W; h = DefaultSize.H; }
internal GuiPanel(Gui gui, GuiContainer parent) : base(gui, parent) { }