Skip to content

More intuitive navigation between groups#85

Open
kaycodes13 wants to merge 7 commits into
silksong-modding:mainfrom
kaycodes13:improvement/inter-group-navigation
Open

More intuitive navigation between groups#85
kaycodes13 wants to merge 7 commits into
silksong-modding:mainfrom
kaycodes13:improvement/inter-group-navigation

Conversation

@kaycodes13
Copy link
Copy Markdown
Contributor

@kaycodes13 kaycodes13 commented May 4, 2026

Summary of Changes

This PR closes #75 by:

  • Giving INavigables the option of providing a choice of multiple selectables for each incoming navigation direction.
  • Changing SelectableWrapper to pick from these options based on distance and how shallow the angle is between selectables in the given axis of travel.
  • Changing VerticalGroup to offer a choice of any of its selectables when being navigated to from the left or right
  • Changing GridGroup to offer a choice of its leftmost/topmost/etc selectables from each row/column when being navigated to from each direction.

The "Scrolling Pane Tests" menu has multiple Grid and Vertical groups laid out beside each other and nested in various ways so it makes a decent testing ground for the new behaviour.

Some methods in INavigable and INavigableExtensions have had their names and parameter types changed so this does have some breaking changes; it might affect mods that set up navigation between elements manually with a FreeGroup.

Checklist

  • No change is too small for a release, so pick one:
    • I have updated the package version following semantic versioning
    • There is another change actively WIP that will update the version
    • This PR does not update user-facing code/config
    • I'm not sure how to set the version and would like the reviewer's help

Comment thread Silksong.ModMenu/Elements/AbstractGroup.cs Outdated
Comment thread Silksong.ModMenu/Elements/AbstractGroup.cs Outdated
Comment thread Silksong.ModMenu/Elements/FreeGroup.cs Outdated
Comment thread Silksong.ModMenu/Elements/GridGroup.cs Outdated
Comment thread Silksong.ModMenu/Elements/INavigable.cs Outdated
Comment thread Silksong.ModMenu/Internal/SelectableWrapper.cs Outdated
Comment thread Silksong.ModMenu/Internal/SelectableWrapper.cs Outdated
dplochcoder
dplochcoder previously approved these changes May 5, 2026
flibber-hk
flibber-hk previously approved these changes May 17, 2026
@kaycodes13 kaycodes13 dismissed stale reviews from flibber-hk and dplochcoder via b3118c3 May 19, 2026 18:21
@kaycodes13
Copy link
Copy Markdown
Contributor Author

(version bump added as per flibber's suggestion on the other PR)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bug: Navigating to some Groups from certain directions has confusing behaviour

3 participants