2025-10-29 21:40:15 +00:00
|
|
|
extends RoomTemplate
|
2026-01-21 15:25:16 +00:00
|
|
|
class_name VolunteerRoom
|
2025-12-02 20:36:39 +00:00
|
|
|
|
|
|
|
|
@onready var card_picker: CardPicker = %Picker
|
2025-12-13 12:49:08 +00:00
|
|
|
@onready var player: PlayerController = %PlayerController
|
2025-12-02 20:36:39 +00:00
|
|
|
|
2026-01-19 09:34:01 +00:00
|
|
|
func _ready():
|
|
|
|
|
id = State.rooms.ADULTHOOD
|
2026-01-21 14:09:59 +00:00
|
|
|
super._ready()
|
2026-01-19 09:34:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
func get_ready() -> void:
|
|
|
|
|
super.get_ready()
|
|
|
|
|
|
|
|
|
|
Scenes.scene_finished.connect(_on_scene_finished)
|
|
|
|
|
card_picker.cards_picked.connect(card_board.populate_board)
|
2025-12-12 23:22:21 +00:00
|
|
|
save_game = State.save_game
|
2026-01-21 15:25:16 +00:00
|
|
|
|
|
|
|
|
%TherapyVoluntaryInteractable.visible = not save_game.subway_burnout
|
|
|
|
|
%TherapyUniInteractable.visible = save_game.subway_burnout
|
|
|
|
|
|
|
|
|
|
card_board.initialise_from_save(save_game)
|
2025-12-02 20:36:39 +00:00
|
|
|
card_board.board_completed.connect(func():
|
|
|
|
|
#TODO: hook in ending
|
2026-01-19 10:04:08 +00:00
|
|
|
save_room()
|
|
|
|
|
)
|
2025-12-02 20:36:39 +00:00
|
|
|
|
2025-12-10 17:07:45 +00:00
|
|
|
|
2026-01-19 09:34:01 +00:00
|
|
|
func start_room():
|
2026-01-21 16:11:25 +00:00
|
|
|
await super.start_room()
|
2026-01-19 09:34:01 +00:00
|
|
|
%UI.show()
|
2025-12-10 17:07:45 +00:00
|
|
|
|
2026-01-19 09:34:01 +00:00
|
|
|
%PlayerController.process_mode = Node.PROCESS_MODE_INHERIT
|
|
|
|
|
# Give player control immediately, then open
|
|
|
|
|
Scenes.player_enable.emit(true)
|
2026-01-21 16:11:25 +00:00
|
|
|
|
2026-01-19 09:34:01 +00:00
|
|
|
await Main.curtain.open()
|
2025-12-02 20:36:39 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
func _on_scene_finished(_id: int, _repeat:bool):
|
|
|
|
|
await get_tree().create_timer(3).timeout
|
|
|
|
|
save_room()
|
|
|
|
|
|
2026-01-16 12:03:39 +00:00
|
|
|
func save_room():
|
|
|
|
|
# Update board state before saving
|
2026-01-16 12:59:09 +00:00
|
|
|
card_board.save_to_resource(save_game)
|
2026-01-16 12:03:39 +00:00
|
|
|
save_game.mementos_complete = Scenes.completed_sequences
|
|
|
|
|
save_game.sequences_enabled = Scenes.enabled_sequences
|
|
|
|
|
super.save_room()
|
|
|
|
|
|
2025-12-02 20:36:39 +00:00
|
|
|
func prepare_transition():
|
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
func unload():
|
|
|
|
|
pass
|