P7.9: fix headless export — resolve Resource class_name ordering + duplicate RoundManager + simulation stub API

- Fix dead code in server_main.gd (unreachable lag compensation print)
- Remove WeaponData type hints from weapon_server.gd (Resource class_name in Node scripts = headless fail)
- Use preload() instead of WeaponData class_name in weapon_definitions.gd for const refs
- Lazy-init WEAPONS dict (const can't reference preload members)
- Remove duplicate class_name RoundManager from server/scripts/round/round_manager.gd
- Remove DamageProcessor type hints from round/round_manager.gd and bomb_objective.gd
- Add start()/stop()/can_tick()/tick()/spawn_entity()/despawn_entity() to simulation_server_stub.gd
- Fix get_world_3d() → get_tree().root.world_3d in weapon_server.gd Node context
- Fix var data := → var data = for untyped WeaponDefinitions.get_weapon() returns
- Clean export cache and verify server starts with zero parse errors
This commit is contained in:
2026-07-02 17:57:09 -04:00
parent 926446e5cf
commit e70ce76207
14 changed files with 356 additions and 305 deletions
+2 -3
View File
@@ -19,7 +19,6 @@
## Signals connect round events to economy, HUD, scoreboard, etc.
extends Node
class_name RoundManager
const _td_rm = preload("res://scripts/teams/team_data.gd")
# ---------------------------------------------------------------------------
@@ -94,10 +93,10 @@ const DEFAULT_WIN_THRESHOLD: int = 16
# ---------------------------------------------------------------------------
## Reference to the TeamManager node/singleton.
var team_manager: TeamManager = null
var team_manager = null
## Reference to the DamageProcessor node/singleton.
var damage_processor: DamageProcessor = null
var damage_processor = null # DamageProcessor — untyped for headless compat
# ---------------------------------------------------------------------------
# Configuration