refactor: separate action system responsibilities
This commit is contained in:
@@ -87,26 +87,30 @@ func _run() -> void:
|
||||
"Jajce navigation path should exist from %s to %s" % [origin, destination]
|
||||
)
|
||||
|
||||
var adapter := ActiveWorldAdapter.new()
|
||||
root.add_child(adapter)
|
||||
var manager: Node = load("res://simulation/SimulationManager.gd").new()
|
||||
manager.debug_logs = false
|
||||
manager.active_world_adapter = adapter
|
||||
root.add_child(manager)
|
||||
manager.set_process(false)
|
||||
await process_frame
|
||||
var selected: ResourceNode = manager.acquire_resource_target(
|
||||
SimulationIds.ACTION_GATHER_FOOD,
|
||||
777,
|
||||
Vector3.ZERO
|
||||
var npc: SimNPC = manager.npcs[0]
|
||||
npc.set_task(SimulationIds.ACTION_GATHER_FOOD)
|
||||
_check(
|
||||
manager.resolve_npc_target(npc.id, Vector3.ZERO),
|
||||
"Target resolver should find Jajce resources without a parent path"
|
||||
)
|
||||
_check(selected != null, "Target discovery should find Jajce resources without a parent path")
|
||||
var selected := ResourceNode.get_by_id(npc.target_id)
|
||||
if selected != null:
|
||||
var selected_state: ResourceStateRecord = manager.get_resource_state(
|
||||
selected.node_id
|
||||
)
|
||||
_check(
|
||||
selected_state.get_reserved_by() == 777,
|
||||
selected_state.get_reserved_by() == npc.id,
|
||||
"Selected Jajce resource should be authoritatively reserved"
|
||||
)
|
||||
manager.release_resource(selected.node_id, 777)
|
||||
manager.release_resource(selected.node_id, npc.id)
|
||||
|
||||
if failures.is_empty():
|
||||
print("[TEST] Jajce scaffold passed: Terrain3D, stable IDs, 24 navigation routes")
|
||||
|
||||
Reference in New Issue
Block a user