Player node registers to the GameEngine, which avoids sending info about the player position via some strange paths
Enemies and (all) projectiles have dedicated Node2Ds that register similar to the player
Projectile weapons from now on are split into two parts - the weapon scene and the projectile scene. Weapon scene controls weapon cooldown, controls and other info required to shoot a projectile, while the projectile is responsible for its speed, registering hits, damage, damage type etc. That design unified Fireball weapon into a single place
Difficulty and win condition timers are moved to the Game Engine from the Base Level - that allowed us to remove a significant amount of signal calls
There are no changes to the game's behavior itself.
Changes summary:
There are no changes to the game's behavior itself.