public virtual void Logic() { hoveredEffectTimer.Logic(); pressEffectTimer.Logic(); if (Enabled && Hovered) { if (!previousHovered) { hoveredEffectTimer.Reset(); } if (mouse[MouseButton.Left]) { pressEffectTimer.Reset(); } if (mouse.ButtonReleased(MouseButton.Left)) { OnClicked(); } } previousHovered = Hovered; }