-
Notifications
You must be signed in to change notification settings - Fork 4.3k
Use ui_manager in main menu and related menus #38235
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
ab8ff99
to
749da43
Compare
Somehow github is showing the commits in a different order from my local commit history. Might be a github bug with rebased commits. |
77350bb
to
57a1638
Compare
…y using ui_manager
This is absolutely amazing change. Found a few glitches after merging to
If you remove
After pressing
|
Thanks for doing the test! I'll look into these issues.
I was aware of this one, but due to the way world creation menu's code was arranged I couldn't find a easy fix for it, so I decided to clear the tab content when canceling the menu for now. |
|
Yes, most probably. I cannot reproduce it now, but it also happened with Options menu too yesterday once. |
Summary
SUMMARY: Interface "Properly refresh and resize main menu and related menus"
Purpose of change
Requires #37894. Migrate main menu and related menus to
ui_adaptor
to properly refresh and resize the menus. Fixes one of the items (world creation menu) in #8514.Describe the solution
Separate display code from input code and use
ui_adaptor
to refresh the menus. Instead of erasing the background throughout the code, it now usesui_adaptor
to redraw the background when another menu invalidates the background after being closed. Also, instead of refreshing the main menu every second to handle resizing, it now uses the resizing callback ofui_adaptor
to handle resizing responsively. Finally, it now only disables the IME once when entering the main menu.Testing
Tested in game and refreshing and resizing were working as intended.
Additional context
The diff is best viewed with ignore whitespace mode on, since it moves and re-idents a lot of code.