refactor: move resource authority into simulation

This commit is contained in:
2026-07-05 13:26:19 +02:00
parent f83d2c7704
commit 363620b731
10 changed files with 480 additions and 174 deletions
+18 -3
View File
@@ -87,11 +87,26 @@ func _run() -> void:
"Jajce navigation path should exist from %s to %s" % [origin, destination]
)
var selected := ResourceNode.find_available(&"gather_food", 777, Vector3.ZERO)
var manager: Node = load("res://simulation/SimulationManager.gd").new()
manager.debug_logs = false
root.add_child(manager)
manager.set_process(false)
await process_frame
var selected: ResourceNode = manager.acquire_resource_target(
&"gather_food",
777,
Vector3.ZERO
)
_check(selected != null, "Target discovery should find Jajce resources without a parent path")
if selected != null:
_check(selected.reserve(777), "Selected Jajce resource should be reservable")
selected.release(777)
var selected_state: ResourceStateRecord = manager.get_resource_state(
selected.node_id
)
_check(
selected_state.get_reserved_by() == 777,
"Selected Jajce resource should be authoritatively reserved"
)
manager.release_resource(selected.node_id, 777)
if failures.is_empty():
print("[TEST] Jajce scaffold passed: Terrain3D, stable IDs, 24 navigation routes")