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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user