fix: interactable sequencing

This commit is contained in:
tiger tiger tiger 2026-01-16 23:00:00 +01:00
parent 53ace145aa
commit 1027e5f20a
1 changed files with 9 additions and 12 deletions

View File

@ -94,20 +94,18 @@ func _input(event: InputEvent) -> void:
var clicked : bool = (event.is_action_pressed("ui_accept")) or (event is InputEventMouseButton and event.is_pressed())
if hover and shown and clicked:
collect_memento()
interact()
func play_story() -> void:
# Check if this is a repeat playthrough
var repeat := collected
collected = true
canvas_layer.show()
# Check if this is a repeat playthrough
var is_repeating := Scenes.is_sequence_repeating(interaction_ui.scene_id)
# Allow room to prepare for scene (e.g., play animations)
if State.room and State.room.has_method("prepare_scene_start"):
await State.room.prepare_scene_start(interaction_ui.scene_id, is_repeating)
await State.room.prepare_scene_start(interaction_ui.scene_id, repeat)
Scenes.begin_sequence(interaction_ui.scene_id)
@ -119,12 +117,11 @@ func play_story() -> void:
var picker := State.room.get_node("%Picker") as CardPicker
await picker.pick_cards(interaction_ui.scene_id)
Scenes.end_sequence(interaction_ui.scene_id) # todo: maybe later?
# Hide the CanvasLayer when done
canvas_layer.hide()
Scenes.end_sequence(interaction_ui.scene_id) # todo: maybe later?
Scenes.player_enable.emit(true)
expand()
@ -141,11 +138,10 @@ func play_board() -> void:
expand()
func collect_memento() -> void:
shown = false
func interact() -> void:
Scenes.player_enable.emit(false)
shown = false
await collapse()
collected = true
# Hide mouse and collapse other interactables BEFORE showing canvas
get_tree().call_group("interactables", "collapse")
@ -160,7 +156,8 @@ func collect_memento() -> void:
await play_board()
canvas_layer.hide()
active = true
collected = true
Scenes.player_enable.emit(true)
## Updates caption label based on the instantiated interaction_ui