Fix critical bugs from code review

- room.gd: Add signal tracking and explicit cleanup in _exit_tree
- room.gd: Guard _on_enemy_died against race condition after room freed
- player.gd: Set _shield_ready = false on shield activation
- player.gd: Fix coolant zone lambda syntax error
- player.gd: Add apply_knockback() method for Hivemind pulse
- player.gd: Fix coolant zone memory leak (use Timer child)
- hud.gd: Remove deprecated boss bar code
This commit is contained in:
2026-03-11 09:47:37 -04:00
parent e45759980e
commit e11eddf1b4
19 changed files with 162 additions and 120 deletions
+13
View File
@@ -1,5 +1,18 @@
extends Node
# ---------------------------------------------------------------------------
# Initialization Order Validation
# ---------------------------------------------------------------------------
# EventBus must be the first autoload. Other autoloads depend on it.
# See project.godot for full dependency graph.
static var _initialized: bool = false
func _ready() -> void:
_initialized = true
static func assert_ready() -> void:
assert(_initialized, "EventBus not initialized. Check autoload order in project.godot.")
# ---------------------------------------------------------------------------
# Save System
# ---------------------------------------------------------------------------