feat(client): wire interaction prompt target+verb to server (#405)

Enable the interaction data attachment in main.gd game loop. When E
is pressed and the prompt is active, target_entity_id and verb are
attached to the Interact action before sending to the server. Without
a target, bare Interact is still sent as safe fallback.

Completes the v0.1 interaction prompt data flow:
server sends nearby_interactions → client shows prompt → E press
attaches target+verb → SimBridge encodes and sends to server.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-13 01:46:02 +01:00
co-authored by Claude Opus 4.6
parent 88cfded5b5
commit 67978d0819
+7 -8
View File
@@ -29,12 +29,11 @@ func _process(_delta: float) -> void:
# Send queued input to simulation
var inputs = InputMapper.flush_queue()
for input in inputs:
# TODO: Once server accepts Interact(InteractData), attach target + verb:
# if input.action == InputMapper.Action.INTERACT:
# var target_id: int = interaction_prompt.get_interaction_target()
# if target_id >= 0:
# input["action_data"] = {
# "target_entity_id": target_id,
# "verb": interaction_prompt.get_selected_verb(),
# }
if input.action == InputMapper.Action.INTERACT:
var target_id: int = interaction_prompt.get_interaction_target()
if target_id >= 0:
input["action_data"] = {
"target_entity_id": target_id,
"verb": interaction_prompt.get_selected_verb(),
}
SimBridge.send_input(input)