diff --git a/src/base-environments/volunteer_room/volunteer_room.gd b/src/base-environments/volunteer_room/volunteer_room.gd index e4c0d3c..0ffc24c 100644 --- a/src/base-environments/volunteer_room/volunteer_room.gd +++ b/src/base-environments/volunteer_room/volunteer_room.gd @@ -19,17 +19,19 @@ func get_ready() -> void: %TherapyUniInteractable.visible = save_game.subway_burnout pull_save_state(State.save_game) - - card_board.board_completed.connect(func(): - #TODO: hook in ending - #%DoorInteractable.show() - pass - ) - card_board.closed.connect(save_room) Scenes.scene_finished.connect(_on_scene_finished) card_picker.cards_picked.connect(card_board.populate_board) + card_board.closed.connect(save_room) + card_board.board_completed.connect(func(): + save_game.childhood_board_complete = true + %DoorInteractable.show() + ) + + # This MUST happen after the signal connection, or the door will remain locked + card_board.initialise_from_save(save_game) + func start_room(): await super.start_room() diff --git a/src/base-environments/youth_room/youth_room.gd b/src/base-environments/youth_room/youth_room.gd index 2bf42c8..0e529bc 100644 --- a/src/base-environments/youth_room/youth_room.gd +++ b/src/base-environments/youth_room/youth_room.gd @@ -42,21 +42,22 @@ func _play_intro_scene() -> void: func get_ready() -> void: await super.get_ready() - + pull_save_state(State.save_game) card_board.closed.connect(save_room) card_board.board_completed.connect(func(): - %DoorInteractable.show() save_game.childhood_board_complete = true + %DoorInteractable.show() ) Scenes.scene_finished.connect(_on_scene_finished) card_picker.cards_picked.connect(card_board.populate_board) + + # This MUST happen after the signal connection, or the door will remain locked + card_board.initialise_from_save(save_game) - ui.hide() - $sfx/distant_rain.play() - $"sfx/rain on window".play() + ui.hide()# Not sure? func pull_save_state(save: SaveGame) -> void: @@ -66,9 +67,6 @@ func pull_save_state(save: SaveGame) -> void: # Interactions can this way load their correct prompts get_tree().call_group("interactables", "pull_save_state") - # Load board state from save first, before overwriting it - card_board.initialise_from_save(save_game) - # TODO: These should be deprecated, SaveGame is our source of truth Scenes.started_sequences = save_game.mementos_complete Scenes.completed_sequences = save_game.mementos_complete