frame-of-mind/src/base-environments/volunteer_room/volunteer_room.gd

56 lines
1.3 KiB
GDScript3
Raw Normal View History

extends RoomTemplate
class_name VolunteerRoom
@onready var card_picker: CardPicker = %Picker
@onready var player: PlayerController = %PlayerController
func _ready():
id = State.rooms.ADULTHOOD
super._ready()
func get_ready() -> void:
super.get_ready()
Scenes.scene_finished.connect(_on_scene_finished)
card_picker.cards_picked.connect(card_board.populate_board)
save_game = State.save_game
%TherapyVoluntaryInteractable.visible = not save_game.subway_burnout
%TherapyUniInteractable.visible = save_game.subway_burnout
card_board.initialise_from_save(save_game)
card_board.board_completed.connect(func():
#TODO: hook in ending
save_room()
)
func start_room():
await super.start_room()
%UI.show()
%PlayerController.process_mode = Node.PROCESS_MODE_INHERIT
# Give player control immediately, then open
Scenes.player_enable.emit(true)
await Main.curtain.open()
func _on_scene_finished(_id: int, _repeat:bool):
await get_tree().create_timer(3).timeout
save_room()
func save_room():
# Update board state before saving
card_board.save_to_resource(save_game)
save_game.mementos_complete = Scenes.completed_sequences
save_game.sequences_enabled = Scenes.enabled_sequences
super.save_room()
func prepare_transition():
pass
func unload():
pass