If a menu item is aligned with other menu items and you have other menu items that are below or above the height of the last aligned elements, it's possible to end up with a menu layout where menu items may "block" that row or column from wrapping around. Take this example layout for instance:
ABC
DEF
G H
In this menu layout if the cursor is on button C and the up direction is pressed, the player may expect the cursor to wrap around to F. But right now the cursor system actually pushes the cursor onto button H.
Ideally we still allow the player to navigate left/right onto G and H, and we also allow the player to navigate down from DEF to GH.
So we want to have a system where we can explicitly deny the up key on ABC. We can also make it so DF and AC wrap around horizontally via specifying other flags and only the down key on DEF would move the navigation down.
Having this level of control on menus should be enough to handle edge case scenarios like this.
If a menu item is aligned with other menu items and you have other menu items that are below or above the height of the last aligned elements, it's possible to end up with a menu layout where menu items may "block" that row or column from wrapping around. Take this example layout for instance:
```
ABC
DEF
G H
```
In this menu layout if the cursor is on button C and the up direction is pressed, the player may expect the cursor to wrap around to F. But right now the cursor system actually pushes the cursor onto button H.
Ideally we still allow the player to navigate left/right onto G and H, and we also allow the player to navigate down from DEF to GH.
So we want to have a system where we can explicitly deny the up key on ABC. We can also make it so DF and AC wrap around horizontally via specifying other flags and only the down key on DEF would move the navigation down.
Having this level of control on menus should be enough to handle edge case scenarios like this.
On paper this sounds nice but in reality using automatic button controls for menus is not feasible. The player wants to operate menus with a controller in very specific ways, and each menu needs to be custom-made for this type of control scheme.
On paper this sounds nice but in reality using automatic button controls for menus is not feasible. The player wants to operate menus with a controller in very specific ways, and each menu needs to be custom-made for this type of control scheme.
If a menu item is aligned with other menu items and you have other menu items that are below or above the height of the last aligned elements, it's possible to end up with a menu layout where menu items may "block" that row or column from wrapping around. Take this example layout for instance:
In this menu layout if the cursor is on button C and the up direction is pressed, the player may expect the cursor to wrap around to F. But right now the cursor system actually pushes the cursor onto button H.
Ideally we still allow the player to navigate left/right onto G and H, and we also allow the player to navigate down from DEF to GH.
So we want to have a system where we can explicitly deny the up key on ABC. We can also make it so DF and AC wrap around horizontally via specifying other flags and only the down key on DEF would move the navigation down.
Having this level of control on menus should be enough to handle edge case scenarios like this.
On paper this sounds nice but in reality using automatic button controls for menus is not feasible. The player wants to operate menus with a controller in very specific ways, and each menu needs to be custom-made for this type of control scheme.