Feature/UI ux check#10
Draft
ZhalgasB wants to merge 24 commits into
Draft
Conversation
Feature/documentation
- Create StateManager class to manage state transitions - Implement changeState() method with proper lifecycle (enter/exit) - Add update() and render() delegation to current state - Ensure clean state transitions without memory leaks
- Implement MainMenuState with title and start menu UI - Implement PauseState with pause menu and resume/exit options - Add proper state lifecycle management (enter/exit) with font disposal - Integrate both states into the state machine
- Rename PlayingState.java to GameState.java - Add isActive flag to prevent updates after state exit - Add null check in render() to prevent NullPointerException - Improve collision detection with proper bullet list copying - Fix ConcurrentModificationException in checkCollisions()
- Replace direct state management with StateManager - Implement input-driven state transitions (SPACE, ENTER, ESC keys) - Add state-specific logic: start game, pause, resume, restart - Set initial state to MainMenuState instead of GameState - Remove unused UI components (pauseOverlay, inputMultiplexer) - Clean up resource disposal through StateManager
- Create MainMenuUI class with Scene2D-based UI - Implement Play, Exit, and Credits buttons - Add button click callbacks integrated with StateManager - Update MainMenuState to use Scene2D instead of BitmapFont - Update GameScreen to handle menu callbacks - Add responsive viewport scaling for Scene2D Stage - Maintain background rendering for visual consistency - Add comprehensive documentation Acceptance Criteria Met: ✓ Buttons trigger callbacks ✓ Menu integrates with MainMenuState ✓ Visual style aligned with game art
…improved ESC behavior; fix Pause/GameOver overlays
…ling; improved event system; finalize UI/UX audit
- Added screen dimming overlay for PauseState (65% alpha transparency) - Added screen dimming overlay for GameOverState (65% alpha transparency) - Implemented adaptive text centering using GlyphLayout in: * MainMenuState - title and menu options centered * PauseState - PAUSED title and instructions centered * GameOverState - GAME OVER title and score centered - Fixed hardcoded text offsets to work on any screen resolution - Verified resource management (dispose() for ShapeRenderer and BitmapFont) - Restored deleted weapon and entity class files from git index - Added comprehensive UI/UX documentation and audit reports ## Acceptance Criteria Met - [x] Screen dimming working for Pause and Game Over states - [x] All text properly centered across different resolutions (800x600, 1280x720, 1920x1080) - [x] Resources properly freed on exit - [x] No compilation errors - [x] All UI issues logged and documented ## Files Modified - PauseState.java - Added ShapeRenderer, GlyphLayout - GameOverState.java - Added ShapeRenderer, GlyphLayout - MainMenuState.java - Added GlyphLayout - Assets.java, GameScreen.java, and 30+ other core files staged ## Documentation - docs/UI_UX_AUDIT_REPORT.md - Complete audit findings - docs/UI_UX_FIXED_ISSUES.md - Detailed fix report - docs/UI_UX_CHECKS_LOG.md - Task completion log Branch: feature/ui-ux-check Type: UI/UX Enhancement Priority: HIGH
Complete documentation of all UI/UX improvements and fixes. Status: Ready for merge to main branch.
…e/ui-ux-check # Conflicts: # core/src/main/java/game/mygame/Assets.java
…e/ui-ux-check # Conflicts: # core/src/main/java/game/mygame/Assets.java
…e/ui-ux-check # Conflicts: # core/src/main/java/game/mygame/Assets.java
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.
No description provided.