From 58ea970102841efe76fee701dffa2c5a8818353b Mon Sep 17 00:00:00 2001 From: Henrik Hautakoski Date: Sun, 19 Oct 2025 12:06:10 +0200 Subject: [PATCH] feat(ui): call onSelect in Select() function and make Next()/Previous() use that function --- game/ui/menu.go | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/game/ui/menu.go b/game/ui/menu.go index d456b1f..9a5bc83 100644 --- a/game/ui/menu.go +++ b/game/ui/menu.go @@ -29,7 +29,10 @@ func (menu Menu) Entries() []Widget { } func (menu *Menu) Select(index int) { - menu.selected = min(index, len(menu.entries)-1) + if index >= 0 && index < len(menu.entries) { + menu.selected = index + menu.onSelect() + } } func (menu Menu) Selected() Widget { @@ -41,17 +44,11 @@ func (menu Menu) IsSelected(index int) bool { } func (menu *Menu) Next() { - if menu.selected+1 < len(menu.entries) { - menu.selected = menu.selected + 1 - menu.onSelect() - } + menu.Select(menu.selected + 1) } func (menu *Menu) Previous() { - if menu.selected-1 >= 0 { - menu.selected = menu.selected - 1 - menu.onSelect() - } + menu.Select(menu.selected - 1) } func (menu *Menu) HandleInput() {