extends RoomTemplate @export var all_stations: Dictionary[Station.id, Station] @export var all_lines: Dictionary[TrainLine.id, TrainLine] func _ready() -> void: super._ready() id = State.rooms.TRANSITION func start_room(): super.start_room() %station_ministry.leave_room.connect(func(): proceed.emit(Main.adulthood_room_path)) # Give player control immediately, then open Scenes.player_enable.emit(true) await Main.curtain.open() func pull_save_state(save: SaveGame) -> void: #FIXME save.sequences_enabled = Scenes.enabled_sequences save.current_room = State.rooms.ADULTHOOD save_game = save # Call parent to restore player position super.pull_save_state(save) ## left here for reference... the ~35 lines of code above should be enoough #var left_first_station: bool = false #func on_first_station() -> void: # return # Scenes.enabled_sequences += 1 << Scenes.id.ADULT_DND # await get_tree().create_timer(5.0).timeout # %ShedulePlayer_R.play("train_arriving") # await get_tree().create_timer(12.0).timeout # if left_first_station: return # %ShedulePlayer_R.play("train_leaving") # await get_tree().create_timer(3.0).timeout # %RightLabel.text = "do not board" # await get_tree().create_timer(6.0).timeout # %ShedulePlayer_L.play("train_arriving") # #var on_second_platform: bool = false #func on_first_transition(_is_left: bool = false): # %StationPlayer.play("first_transition") # await get_tree().create_timer(1.0).timeout # on_second_platform = true # #func on_second_transition(): # %StationPlayer.play("second_transition") # #func on_third_transition(): # %StationPlayer.play("third_transition") # #func on_left_train_enter(_body) -> void: # if not left_first_station: # left_first_station = true # await get_tree().create_timer(2.0).timeout # %Train2.get_child(0).door_open = false # on_first_transition(true) # await get_tree().create_timer(5.0).timeout # Scenes.enabled_sequences += 1 << Scenes.id.ADULT_VOLUNTARY # %SubwayMap.current_station = Scenes.id.ADULT_VOLUNTARY # %RightLabel.text = "U3 Gesundquell \n via Rosenthal Hospital" # await get_tree().create_timer(5.0).timeout # Scenes.enabled_sequences += 1 << Scenes.id.ADULT_AUTISM # %SubwayMap.current_station = Scenes.id.ADULT_AUTISM # await get_tree().create_timer(5.0).timeout # %Train2.get_child(0).door_open = true # # await get_tree().create_timer(5.0).timeout # if not changeover: # %Train2.get_child(0).door_open = false # on_second_transition() # await get_tree().create_timer(5.0).timeout # Scenes.enabled_sequences += 1 << Scenes.id.ADULT_SELF_ADVOCACY # %SubwayMap.current_station = Scenes.id.ADULT_SELF_ADVOCACY # %RightLabel.text = "do not board" # %LeftLabel.text = "do not board" # on_final = true # await get_tree().create_timer(5.0).timeout # %Train2.get_child(0).door_open = true # else: # %ShedulePlayer_L.play("train_leaving") # %LeftLabel.text = "do not board" # return # if changeover: # %ShedulePlayer_R.play("train_leaving") # await get_tree().create_timer(2.0).timeout # %Train2.get_child(0).door_open = false # on_second_transition() # await get_tree().create_timer(5.0).timeout # save_game.seen.append(str(Scenes.id.ADULT_THERAPY_UNI)) # %SubwayMap.current_station = Scenes.id.ADULT_THERAPY_UNI # %RightLabel.text = "do not board" # %LeftLabel.text = "do not board" # on_final = true # await get_tree().create_timer(5.0).timeout # %Train2.get_child(0).door_open = true # #var on_final: bool = false: # set(final): # #FIXME: this needs to be a proper sequence! # on_final = final # await get_tree().create_timer(0.5).timeout # if final: prepare_transition() #var on_direct_path: bool = false #func on_right_train_enter(_body) -> void: # if not left_first_station: # on_direct_path = true # %Train.get_child(0).door_open = false # await get_tree().create_timer(2.0).timeout # left_first_station = true # on_first_transition(false) # await get_tree().create_timer(5.0).timeout # Scenes.enabled_sequences += 1 << Scenes.id.ADULT_EATING # %SubwayMap.current_station = Scenes.id.ADULT_EATING # %LeftLabel.text = "U8 Gesundquell \n via Rosenthal Hospital" # await get_tree().create_timer(5.0).timeout # Scenes.enabled_sequences += 1 << Scenes.id.ADULT_SELF_ADVOCACY # %SubwayMap.current_station = Scenes.id.ADULT_SELF_ADVOCACY # await get_tree().create_timer(5.0).timeout # %Train.get_child(0).door_open = true # # await get_tree().create_timer(5.0).timeout # # if not changeover: # %Train.get_child(0).door_open = false # on_second_transition() # await get_tree().create_timer(5.0).timeout # Scenes.enabled_sequences += 1 << Scenes.id.ADULT_BURNOUT # %SubwayMap.current_station = Scenes.id.ADULT_BURNOUT # %RightLabel.text = "do not board" # %LeftLabel.text = "do not board" # on_final = true # await get_tree().create_timer(5.0).timeout # %Train.get_child(0).door_open = true # else: # %ShedulePlayer_R.play("train_leaving") # %RightLabel.text = "do not board" # return # if changeover: # on_second_transition() # if on_direct_path: %ShedulePlayer_L.play("train_leaving") # await get_tree().create_timer(5.0).timeout # Scenes.enabled_sequences += 1 << Scenes.id.ADULT_AUTISM # %SubwayMap.current_station = Scenes.id.ADULT_AUTISM # await get_tree().create_timer(2.0).timeout # %Train2.get_child(0).door_open = false # %RightLabel.text = "do not board" # %LeftLabel.text = "do not board" # on_final = true # await get_tree().create_timer(5.0).timeout # %Train.get_child(0).door_open = true # #var changeover: bool = false #func on_left_train_exit(_body): # if on_second_platform and not on_final: # changeover = true # %ShedulePlayer_R.play("train_arriving") # #func on_right_train_exit(_body): # if on_second_platform and not on_final: # changeover = true # %ShedulePlayer_L.play("train_arriving") # await get_tree().create_timer(10).timeout # %RightLabel.text = "U1 weissnicht \n via Saint-Exupery Sq." # await get_tree().create_timer(5).timeout # %ShedulePlayer_R.play("train_arriving")