Commit Graph

90 Commits

Author SHA1 Message Date
360f73ba24 feat: coins and skills move to the new domain (commit B of the swap)
atomic pair - purchasing couples them, so neither moves alone.

SkillData.Level is gone. It was an [Export] on a cached Resource: one
instance per process, so the level never persisted, leaked between save
slots, and made "unowned" indistinguishable from "level 1". Level now
comes from the Playthrough and is passed to ISkill.Initialize.

SkillManager reconciles from SkillSetChanged instead of being told by
each caller. The old shape was "record it, then tell SkillManager" as two
calls at four sites; AddSkill's early return when no player is registered
left the skill owned but inert. Reconciliation also tracks the level each
component was built at, so an upgrade rebuilds it rather than being
patched in from outside.

SkillUnlockerComponent collapses to one TryBuy - unlock and upgrade were
two methods each doing affordability, debit, level mutation and manager
notification in order.

The guard three components copy-pasted around Upgrades[Level - 1] - and
which BrickArmor omitted - now lives once in SkillComponentBase.

Hud reads coins from CoinsChanged instead of rebuilding translated
strings every frame. Lives still polls; it moves with the death path.
2026-07-28 20:13:24 +02:00
38c86f1a67 feat: gameplay settings screen (deadzone + sensitivity) 2026-03-19 03:47:15 +01:00
814d9736d0 refactor: movement system - MovementPreset, decouple abilities, fix timing 2026-03-19 02:45:26 +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
470b0c3a8c refactor: implement singleton pattern for key managers and improve resource access 2026-03-19 02:00:56 +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
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
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
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
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
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
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
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
88c7a0a055 Movement refactor 2025-08-30 23:06:12 +02:00
d786ef4c22 Complete C# rewrite with working game in Editor (#6)
* Refactor collectable components to C# and update resource scripts for consistency

* Update resource paths and refactor properties for consistency

* Refactor UI components to inherit from Control and update node paths for consistency

* Update node paths and group assignments for consistency across scenes

* Refactor GameManager and PlayerDeathComponent for improved state management and logging; update scene connections for player death handling

* Add PhantomCamera components and UI elements for improved scene management; refactor existing components for better integration

* Refactor skill components and update resource paths for consistency; enhance skill management in scenes

* Add new UID files and update scene configurations for dialogue components; refactor skill management and input handling

* Add next level command and refactor player retrieval in GameManager; update scene files for consistency

* Add skill upgrade system and refactor skill components for enhanced functionality; update resource paths and configurations

* Enhance ChargeProgressBar and Marketplace functionality; add owner exit handling and update skill button states

* Refactor ChargeProgressBar and SkillManager; update skill handling and improve component interactions

* Refactor player and level configurations; streamline FlipPlayerComponent and reposition Spaceship Enter
2025-08-27 01:12:26 +02:00
d84f7d1740 Csharp rewrite (#4)
* Implement BeamComponent in C# and enhance marketplace button functionality

* Add core game components including ConfigFileHandler, GameManager, SaveSystem, and UIManager

* cleanup

* Add new components: CanPickUpComponent, CollapsableComponent, DestroyableComponent, EffectInflictorComponent, StatusEffectComponent, and StatusEffectDataResource

* Add new components: EnemyDeathComponent, EnemyWaveTriggerComponent, and ExitDoorComponent

* Add new components: ExplosiveComponent, FadeAwayComponent, FireEffectComponent, FlipComponent, GravityMotionComponent, LaunchComponent, and update PlatformMovement with LastDirection property

* Add new components: HealComponent, HitComponent, HomingMissileMotionComponent, LeverComponent, and TriggerLeverComponent

* Refactor GameManager session state handling and add new components: CanBeLaunchedComponent, IceEffectComponent, JumpPadComponent, KillPlayerOutOfScreenComponent, KnockbackComponent, LifetimeComponent, MagneticSkillComponent, OutOfScreenComponent, PeriodicShootingComponent, PlayerDeathComponent, ProgressiveDamageComponent, ProjectileComponent, ProjectileInitComponent, RequirementComponent, ScoreComponent, ShipMovementComponent, ShipShooterComponent, and SideToSideMovementComponent

* Add new components: CannotStompComponent, SkillUnlockedComponent, SpaceshipEnterComponent, SpaceshipExitComponent, SpinComponent, StompDamageComponent, StraightMotionComponent, TerrainHitFx, TooltipComponent, TrailComponent, and UnlockOnRequirementComponent

* Add new components: BrickThrowComponent, BulletComponent, CageComponent, ChaseLevelComponent, CleanupComponent, and ThrowInputResource classes; implement game saving and loading logic in SaveSystem

* Add audio settings management and platform movement component

* Add ChargeProgressBar, Credits, and GameOverScreen components for UI management

* Add UID files for ConfigFileHandler, GameManager, SaveSystem, and UIManager components

* Add README.md file with game description and features; include project license and contribution guidelines

* Add Hud component for UI management; display health, coins, and lives

* Add MainMenu and Marketplace components; implement game management and skill unlocking features

* Add PauseMenu, SettingsMenu, and SkillButton components; enhance game management and UI functionality
2025-08-15 00:45:57 +02:00
58eeef60dc Refactor skill management and marketplace UI for improved functionality 2025-06-19 16:37:31 +02:00
cc737f22cf Add marketplace button functionality and skill unlocker integration 2025-06-05 22:50:45 +02:00
df154a786c Add minimum jump height, fire rate configuration, and improve throw input handling 2025-05-29 01:33:54 +02:00
9b6a4f38bd Refactor health management and collectable cleanup logic for improved functionality 2025-05-29 01:19:18 +02:00
a098155b0f Fix collectable fade away logic to ensure proper cleanup after sound effect finishes 2025-05-29 01:03:49 +02:00
26af7a591d Add terrain hit effects, progressive damage component, and update collectable signals 2025-05-29 01:00:19 +02:00
37b96c0f11 Add spaceship exit component, enemy wave trigger, and update various scene properties 2025-05-25 20:10:48 +02:00
bac0a8c5f7 Add spaceship interaction components and update player movement logic 2025-05-25 19:26:41 +02:00
99ed007593 Refactor save system and game manager; improve game restart functionality and state management 2025-05-25 18:36:02 +02:00
250fb18e16 Enhance save system functionality; improve game state management and session tracking 2025-05-25 16:06:59 +02:00
33cab8574c Implement platform and ship movement types; refactor player movement logic and add switching mechanism 2025-05-25 04:30:39 +02:00
60779f5b51 Add SpinComponent to handle rotation of a Node2D with adjustable speed and direction 2025-05-25 03:48:01 +02:00
bb96553026 Add ship movement and shooting mechanics; update flying ship scene with new components 2025-05-25 02:39:07 +02:00
f39cf573c0 Add level progression and UI updates; implement death screen and marketplace features 2025-05-16 16:42:48 +02:00
811372d5d3 Add hit component and effects; update player and enemy scenes to integrate hit feedback 2025-05-16 14:22:20 +02:00
907bb5226f Add trail component for homing bullets; update homing bullet scene and remove debug print 2025-05-13 01:36:56 +02:00
b96046d983 Add homing missile motion component; update enemy scene to include homing bullet resource 2025-05-13 01:24:44 +02:00
c291f42531 Refactor brick throwing mechanics; integrate new input handling and projectile initialization components 2025-05-13 00:44:44 +02:00
3d65daf0c5 Refactor charge throw component; add minimum charge duration and improve charge handling 2025-05-12 23:16:55 +02:00
59c309409c Add charge throw mechanics; refactor bullet and brick components 2025-05-12 23:08:54 +02:00