Add UIPolishSetup editor tool for automated UI component setup#379
Open
Shombith03 wants to merge 7 commits into
Open
Add UIPolishSetup editor tool for automated UI component setup#379Shombith03 wants to merge 7 commits into
Shombith03 wants to merge 7 commits into
Conversation
- Add universal gamepad/DPad navigation system (MenuDPadNavigator,
AutoNavSetup, SelectionHighlight) for full controller support
across all menu screens
- Add UIButtonJuice component for scale-punch press feedback on
any button (works with both touch and gamepad)
- Upgrade NavLink with DOTween scale bounce + Y-offset animation
on tab activation, plus ISelectHandler for gamepad navigation
- Replace ScreenSwitcher coroutine lerp with DOTween OutCubic
transitions, add controller auto-select on screen change
- Add NavGroup DPad L1/R1 shoulder button cycling between tabs
- Add HomeScreen entrance animation (stagger scale+fade on elements)
- Upgrade ModalWindowManager with optional DOTween entrance/exit
(scale+fade) and controller auto-focus on modal open
- Upgrade SwitchToggle from instant jump to smooth DOLocalMove
with color tween
- Reorganize _Graphics folder: consolidate UI sprites under UI/,
elements under Elements/, characters under Characters/, remove
{LEGACY} and {PLACEHOLDERS} folders, fix "Design Assests" typo
- Add 4 sprite atlases (NavBar, Buttons, HUD, Arcade)
https://claude.ai/code/session_01KRzd9ZSR5r5zPZTiPMdQ48
- UIPolishSetup.cs: One-click Editor menu (Tools > Cosmic Shore) to batch-attach UIButtonJuice, SelectionHighlight, AutoNavSetup, and MenuDPadNavigator - Created .meta files for all 4 new FX scripts - Created .meta files for all UI sprite subfolders (15 folders) - Created .meta files for all 4 sprite atlases - Fixed sprite atlas packables to reference correct folder GUIDs https://claude.ai/code/session_01KRzd9ZSR5r5zPZTiPMdQ48
- Remove manual buttonSouth handler from ArcadeDPadNav that was bypassing EventSystem and launching wrong game modes on A press - Invert DOTween flag in ModalWindowManager so all modals use smooth scale+fade entrance by default (previously required opt-in per modal) https://claude.ai/code/session_01KRzd9ZSR5r5zPZTiPMdQ48
…game) - PauseMenu: Start button toggles pause, B button closes pause menu, auto-focus first selectable for DPad navigation, multiplayer support - Scoreboard: auto-focus Play Again button for gamepad users when shown - EndGameCinematicView: auto-focus Continue button for gamepad when revealed https://claude.ai/code/session_01KRzd9ZSR5r5zPZTiPMdQ48
- ModalWindowManager: disable Animator component when using DOTween path to prevent Animator from overriding scale/alpha and hiding the modal - PreGameCinematicController: A button or Start button skips the pre-game cinematic flythrough - MiniGameHUD: auto-focus Ready button for gamepad users when shown https://claude.ai/code/session_01KRzd9ZSR5r5zPZTiPMdQ48
…ting panel - ArcadeGameConfigureModal: hide next/prev vessel buttons when only one vessel is available for the selected game mode - SO_GameModeTips: new ScriptableObject for per-game-mode tips with optional common tips merge (CreateAssetMenu: CosmicShore/UI/GameModeTips) - SO_ArcadeGame: added Tips field reference - ConnectingPanel: displays a random tip from the active SO_GameModeTips on the connecting panel TMP_Text (add text element in scene) - MiniGameHUD: pushes tips from ArcadeGameConfigSO to ConnectingPanel before showing the panel - MiniGameHUDView: exposed ConnectingPanel property https://claude.ai/code/session_01KRzd9ZSR5r5zPZTiPMdQ48
Replaced per-game-mode SO references with a single SO_GameModeTips asset that maps GameModes to tip strings with common tips merged in. ConnectingPanel now holds the tipsList reference directly and receives only the GameMode from MiniGameHUD. Removed Tips field from SO_ArcadeGame and ArcadeGameConfigSO dependency from MiniGameHUD. https://claude.ai/code/session_01KRzd9ZSR5r5zPZTiPMdQ48
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Introduces a new editor utility tool that automates the setup of UI polish components across the project. This one-click solution streamlines the process of attaching animation and interaction components to UI elements.
Key Changes
Assets/Editor/UIPolishSetup.cs):AddButtonJuiceToAllButtons(): Automatically attachesUIButtonJuicecomponents to all Button instancesAddSelectionHighlightToAllSelectables(): AttachesSelectionHighlightcomponents to all Selectable UI elementsAddAutoNavSetupToScreenRoots(): AddsAutoNavSetupto screen roots (via ScreenSwitcher) and modal windowsAddMenuDPadNavigator(): AddsMenuDPadNavigatorto the EventSystem with auto-wiring of ScreenSwitcher referenceImplementation Details
Resources.FindObjectsOfTypeAll()to locate components across loaded scenes and prefabsPrefabUtility.IsPartOfImmutablePrefab()Undo.AddComponent()for full undo/redo supporthttps://claude.ai/code/session_01KRzd9ZSR5r5zPZTiPMdQ48