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() {