Commit Graph

164 Commits

Author SHA1 Message Date
3e74959bb9 fix: DisplaySettings focus mode, remove duplicate ApplyWindowMode 2026-03-19 03:35:28 +01:00
8cce1866b1 feat: display settings screen with window mode and resolution picker 2026-03-19 03:32:40 +01:00
0105698c33 fix: guard GrabFirstFocus on pointerless, unsub VisibilityChanged in _ExitTree 2026-03-19 03:29:36 +01:00
3b18e328b2 feat: gamepad/keyboard UI navigation on all menus 2026-03-19 03:26:50 +01:00
2bc0b76050 fix: joypad drift threshold + move InputDevice enum inside class 2026-03-19 03:24:19 +01:00
d83e3b4d82 feat: add InputDeviceManager autoload for input device tracking 2026-03-19 03:22:17 +01:00
42d7df27ae fix: SettingsManager null guard, ui_ filter, double cast for sensitivity/deadzone 2026-03-19 03:21:04 +01:00
fd54e16bf4 fix: make GamepadDeadzone/Sensitivity/WindowMode/Resolution setters public 2026-03-19 03:18:46 +01:00
92a3c4f79a feat: add SettingsManager autoload for display, gamepad and input binding settings 2026-03-19 03:17:26 +01:00
654a8b7ea7 fix: add .worktrees/ to gitignore 2026-03-19 03:15:09 +01:00
53ebbbbac3 feat: add movement presets for platform and spaceship, update abilities in scenes 2026-03-19 02:55:03 +01:00
551dc09485 feat: add unique identifier for MovementPreset 2026-03-19 02:46:55 +01:00
814d9736d0 refactor: movement system - MovementPreset, decouple abilities, fix timing 2026-03-19 02:45:26 +01:00
adaeb35fdd chore: ignore .worktrees dir 2026-03-19 02:43:41 +01:00
eeefca4d4e refactor: enhance GameStateStore integration and improve skill management 2026-03-19 02:33:07 +01:00
3e36e48e97 refactor: update collision shape disabling method for improved performance 2026-03-19 02:11:28 +01:00
1e9814a9d8 refactor: replace direct manager instances with lazy accessors for improved performance 2026-03-19 02:10:36 +01:00
470b0c3a8c refactor: implement singleton pattern for key managers and improve resource access 2026-03-19 02:00:56 +01:00
cfef49fbc7 refactor: standardization round 2
- ConsoleManager: lazy GameManager/AchievementManager via Instance (fixes NullRef on console commands)
- AchievementManager, GhostManager: add static Instance property
- GhostEventHandler: use GhostManager.Instance, add _ExitTree unsubscription
- SpeedRunManager: remove unused IsVisible guard; TimeUpdated now emits when running
- SpeedRunHud: use SpeedRunManager.Instance, remove dead IsVisible binding
- SaveDataDto: moved to scripts/State/SaveDataDto.cs
- GameManager.AddCoins: XML doc clarifying permanent vs session coins
2026-03-19 01:50:20 +01:00
321905e68e refactor: fix bugs and improve architecture
- Fix double-execution bug in LevelStateHandler (coins/skills were committed twice per level)
- Fix DamageComponent to track multiple targets via HashSet instead of single node
- Fix HealthComponent: update health immediately, decouple from PlayerController via signal wiring in PlayerController
- Remove dead loop in SkillManager.RemoveSkill; simplify O(n²) throw skill loop
- Replace GetNode<T>(path) with .Instance across managers; add Instance to StatisticsManager/SpeedRunManager
- GameManager.GetPlayer() now uses EventBus.PlayerSpawned instead of scanning all scene nodes
- UIManager.UiStack: remove [Export], use private List<Control>
- PlayerState: extract DefaultLives constant, simplify CreateDefault()
2026-03-19 01:41:14 +01:00
427bef6509 Add EventBus to project settings 2026-02-02 12:48:17 +01:00
3616f4ba79 Update collectable resources and improve FloatingTextManager integration 2026-02-02 12:45:48 +01:00
2bf903728b Add CollectableType.None and update project settings for Godot 4.6 2026-02-01 13:11:14 +01:00
bfe951939d refactor (#6)
Reviewed-on: #6
2026-02-01 11:47:40 +00:00
dde3eaa52e godot-4.5 (#5)
Reviewed-on: #5
2026-01-31 13:06:43 +00:00
bc3108ea37 Add MovingPlatformComponent and moving platform scene; implement movement along a path with customizable speed and loop modes 2025-09-13 14:43:58 +02:00
7257242fce Add cannon_bullet scene and update cannon settings; implement new bullet behavior and shooting interval 2025-09-13 14:22:12 +02:00
03abf91f59 Add RecoilComponent and SquashAndStretchComponent; implement recoil and animation effects on shooting 2025-09-13 14:18:43 +02:00
e6f8989d16 Add EnemyControllerComponent and PeriodicShootingComponent; implement enemy shooting behavior and bullet spawning 2025-09-13 13:53:40 +02:00
db2a090acc Add FootstepGfx and JumpGfxComponent; implement particle effects for footsteps and jumps 2025-09-13 05:19:37 +02:00
dfc9201f62 Add EventBus, SpeedRunManager, and GhostManager; implement ghost recording and playback features 2025-09-13 03:30:15 +02:00
46553a351a Add achievement panel texture and update AchievementPopup design 2025-09-13 02:26:40 +02:00
a8ff492aed Pacxon (#12)
* Add GridMovementAbility and PacXonGridInteractor for grid-based movement; integrate with PlayerController and PacXonLevel

* Add GhostMovementComponent and PacXonTrailComponent; integrate ghost movement and trail features in PacXonLevel

* Update main menu button focus and add new movement abilities; adjust player and ghost initialization in PacXonLevel
2025-09-13 01:52:07 +02:00
aa73e54b3e Add KnockbackComponent and HazardComponent for enhanced enemy interactions; integrate knockback effects in DamageComponent 2025-09-11 05:09:24 +02:00
98b3202361 Update FloatingTextManager colors and integrate floating text display in LeverComponent; replace enemy sprite in basic_enemy scene 2025-09-11 04:42:59 +02:00
6e2bdcdf95 Add FloatingText and FloatingTextManager for UI message display; create basic_enemy scene and integrate components 2025-09-11 04:35:39 +02:00
f229ff5b7d Add FloatingTextManager and FloatingText for displaying UI messages; update CollectableComponent and HealthComponent to utilize new floating text features 2025-09-11 04:35:30 +02:00
f9cb59d182 Add HealthComponent to bullet and update various resources for skill upgrades 2025-08-31 15:17:47 +02:00
ead52f6d51 Add new skills: Double Jump, Ground Pound, Brick Armor, and Brick Shield; implement skill removal signal in SkillManager (#11) 2025-08-31 15:17:11 +02:00
bd40c797d4 Add SkillManager class and integrate with PlayerController and SkillUnlockerComponent (#10) 2025-08-31 13:04:50 +02:00
2d520a708f Add SkillManager node to village levels and update references 2025-08-31 03:01:24 +02:00
257a492f72 clean up 2025-08-31 02:57:22 +02:00
fd10e566b3 Add ProgressiveDamageComponent for dynamic damage feedback 2025-08-31 02:56:33 +02:00
021e984877 Add DamageNumberManager and DamageNumber for displaying damage feedback 2025-08-31 02:30:42 +02:00
4b7c38397c Remove ProgressiveDamageComponent from village level 2025-08-31 02:13:45 +02:00
6d0e337bd6 Add ProgressiveDamageComponent to village levels and update .gitattributes 2025-08-31 02:12:56 +02:00
51aecf7da5 Refactor FlipComponent to use PlayerController and remove ProgressiveDamageComponent from scene 2025-08-31 02:11:05 +02:00
604520cad5 Wave enemies (#9)
* Add enemy wave management and path following components

* cleanup
2025-08-31 02:08:35 +02:00
36d1cac284 Add PlayerGraphicsComponent to manage player sprite visibility based on movement abilities 2025-08-31 01:14:00 +02:00
53b5f968fd Add achievement system with unlock and UI popup functionality (#8) 2025-08-31 00:50:53 +02:00