refactor: scene IDs now closer to StoryPlayable names.
This commit is contained in:
parent
54e844c84d
commit
bfe974927c
|
|
@ -10,13 +10,13 @@ extends Node2D
|
||||||
%AnimationPlayer.play("hirschfeld")
|
%AnimationPlayer.play("hirschfeld")
|
||||||
Scenes.id.ADULT_VOLUNTARY:
|
Scenes.id.ADULT_VOLUNTARY:
|
||||||
%AnimationPlayer.play("parity")
|
%AnimationPlayer.play("parity")
|
||||||
Scenes.id.ADULT_CHRISTMAS:
|
Scenes.id.ADULT_AUTISM:
|
||||||
%AnimationPlayer.play("saint-exupery")
|
%AnimationPlayer.play("saint-exupery")
|
||||||
Scenes.id.ADULT_EATING:
|
Scenes.id.ADULT_EATING:
|
||||||
%AnimationPlayer.play("refectory")
|
%AnimationPlayer.play("refectory")
|
||||||
Scenes.id.ADULT_UNI:
|
Scenes.id.ADULT_SELF_ADVOCACY:
|
||||||
%AnimationPlayer.play("university")
|
%AnimationPlayer.play("university")
|
||||||
Scenes.id.ADULT_THERAPY:
|
Scenes.id.ADULT_THERAPY_VOLUNTEER:
|
||||||
%AnimationPlayer.play("rosenthal")
|
%AnimationPlayer.play("rosenthal")
|
||||||
Scenes.id.ADULT_BURNOUT:
|
Scenes.id.ADULT_BURNOUT:
|
||||||
%AnimationPlayer.play()
|
%AnimationPlayer.play()
|
||||||
|
|
|
||||||
|
|
@ -78,8 +78,8 @@ func on_left_train_enter(_body) -> void:
|
||||||
%SubwayMap.current_station = Scenes.id.ADULT_VOLUNTARY
|
%SubwayMap.current_station = Scenes.id.ADULT_VOLUNTARY
|
||||||
%RightLabel.text = "U3 Gesundquell \n via Rosenthal Hospital"
|
%RightLabel.text = "U3 Gesundquell \n via Rosenthal Hospital"
|
||||||
await get_tree().create_timer(5.0).timeout
|
await get_tree().create_timer(5.0).timeout
|
||||||
Scenes.enabled_sequences += 1 << Scenes.id.ADULT_CHRISTMAS
|
Scenes.enabled_sequences += 1 << Scenes.id.ADULT_AUTISM
|
||||||
%SubwayMap.current_station = Scenes.id.ADULT_CHRISTMAS
|
%SubwayMap.current_station = Scenes.id.ADULT_AUTISM
|
||||||
await get_tree().create_timer(5.0).timeout
|
await get_tree().create_timer(5.0).timeout
|
||||||
%Train2.get_child(0).door_open = true
|
%Train2.get_child(0).door_open = true
|
||||||
|
|
||||||
|
|
@ -88,8 +88,8 @@ func on_left_train_enter(_body) -> void:
|
||||||
%Train2.get_child(0).door_open = false
|
%Train2.get_child(0).door_open = false
|
||||||
on_second_transition()
|
on_second_transition()
|
||||||
await get_tree().create_timer(5.0).timeout
|
await get_tree().create_timer(5.0).timeout
|
||||||
Scenes.enabled_sequences += 1 << Scenes.id.ADULT_UNI
|
Scenes.enabled_sequences += 1 << Scenes.id.ADULT_SELF_ADVOCACY
|
||||||
%SubwayMap.current_station = Scenes.id.ADULT_UNI
|
%SubwayMap.current_station = Scenes.id.ADULT_SELF_ADVOCACY
|
||||||
%RightLabel.text = "do not board"
|
%RightLabel.text = "do not board"
|
||||||
%LeftLabel.text = "do not board"
|
%LeftLabel.text = "do not board"
|
||||||
on_final = true
|
on_final = true
|
||||||
|
|
@ -132,8 +132,8 @@ func on_right_train_enter(_body) -> void:
|
||||||
%SubwayMap.current_station = Scenes.id.ADULT_EATING
|
%SubwayMap.current_station = Scenes.id.ADULT_EATING
|
||||||
%LeftLabel.text = "U8 Gesundquell \n via Rosenthal Hospital"
|
%LeftLabel.text = "U8 Gesundquell \n via Rosenthal Hospital"
|
||||||
await get_tree().create_timer(5.0).timeout
|
await get_tree().create_timer(5.0).timeout
|
||||||
Scenes.enabled_sequences += 1 << Scenes.id.ADULT_UNI
|
Scenes.enabled_sequences += 1 << Scenes.id.ADULT_SELF_ADVOCACY
|
||||||
%SubwayMap.current_station = Scenes.id.ADULT_UNI
|
%SubwayMap.current_station = Scenes.id.ADULT_SELF_ADVOCACY
|
||||||
await get_tree().create_timer(5.0).timeout
|
await get_tree().create_timer(5.0).timeout
|
||||||
%Train.get_child(0).door_open = true
|
%Train.get_child(0).door_open = true
|
||||||
|
|
||||||
|
|
@ -158,8 +158,8 @@ func on_right_train_enter(_body) -> void:
|
||||||
on_second_transition()
|
on_second_transition()
|
||||||
if on_direct_path: %ShedulePlayer_L.play("train_leaving")
|
if on_direct_path: %ShedulePlayer_L.play("train_leaving")
|
||||||
await get_tree().create_timer(5.0).timeout
|
await get_tree().create_timer(5.0).timeout
|
||||||
Scenes.enabled_sequences += 1 << Scenes.id.ADULT_CHRISTMAS
|
Scenes.enabled_sequences += 1 << Scenes.id.ADULT_AUTISM
|
||||||
%SubwayMap.current_station = Scenes.id.ADULT_CHRISTMAS
|
%SubwayMap.current_station = Scenes.id.ADULT_AUTISM
|
||||||
await get_tree().create_timer(2.0).timeout
|
await get_tree().create_timer(2.0).timeout
|
||||||
%Train2.get_child(0).door_open = false
|
%Train2.get_child(0).door_open = false
|
||||||
%RightLabel.text = "do not board"
|
%RightLabel.text = "do not board"
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
extends AnimationPlayer
|
extends AnimationPlayer
|
||||||
|
|
||||||
var has_stage
|
var is_repeating := false
|
||||||
var is_repeating = false
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
Scenes.scene_finished.connect(scene_finished)
|
Scenes.scene_finished.connect(scene_finished)
|
||||||
|
|
@ -13,14 +12,11 @@ func play_scene(id: int, repeat = false):
|
||||||
match id:
|
match id:
|
||||||
Scenes.id.ADULT_DND: $trans.play()
|
Scenes.id.ADULT_DND: $trans.play()
|
||||||
Scenes.id.ADULT_VOLUNTARY: $trauma.play()
|
Scenes.id.ADULT_VOLUNTARY: $trauma.play()
|
||||||
Scenes.id.ADULT_CHRISTMAS: $autism.play()
|
Scenes.id.ADULT_AUTISM: $autism.play()
|
||||||
Scenes.id.ADULT_EATING: $university_eating.play()
|
Scenes.id.ADULT_EATING: $university_eating.play()
|
||||||
Scenes.id.ADULT_UNI: $university_advocacy.play()
|
Scenes.id.ADULT_SELF_ADVOCACY: $university_advocacy.play()
|
||||||
Scenes.id.ADULT_THERAPY:
|
Scenes.id.ADULT_THERAPY_UNI: $therapy_uni.play()
|
||||||
if Scenes.is_sequence_unlocked(Scenes.id.ADULT_UNI):
|
Scenes.id.ADULT_THERAPY_UNI: $therapy_volunteer.play()
|
||||||
$therapy_uni.play()
|
|
||||||
else:
|
|
||||||
$therapy_volunteer.play()
|
|
||||||
Scenes.id.ADULT_BURNOUT: $burnout.play()
|
Scenes.id.ADULT_BURNOUT: $burnout.play()
|
||||||
|
|
||||||
func _on_ini_room():
|
func _on_ini_room():
|
||||||
|
|
|
||||||
|
|
@ -23,9 +23,10 @@ const _story_captions : Dictionary[Scenes.id, StringName] = {
|
||||||
Scenes.id.TRANSITION: "Move on",
|
Scenes.id.TRANSITION: "Move on",
|
||||||
Scenes.id.ADULT_DND: "colorful Dice",
|
Scenes.id.ADULT_DND: "colorful Dice",
|
||||||
Scenes.id.ADULT_VOLUNTARY: "Gemstone Art",
|
Scenes.id.ADULT_VOLUNTARY: "Gemstone Art",
|
||||||
Scenes.id.ADULT_CHRISTMAS: "Chat Messages",
|
Scenes.id.ADULT_AUTISM: "Chat Messages",
|
||||||
Scenes.id.ADULT_EATING: "Dishes",
|
Scenes.id.ADULT_EATING: "Dishes",
|
||||||
Scenes.id.ADULT_UNI: "Science Poster",
|
Scenes.id.ADULT_SELF_ADVOCACY: "Science Poster",
|
||||||
Scenes.id.ADULT_THERAPY: "Doctors Note",
|
Scenes.id.ADULT_THERAPY_VOLUNTEER: "Doctors Note",
|
||||||
|
Scenes.id.ADULT_THERAPY_UNI: "Doctors Note",
|
||||||
Scenes.id.ADULT_BURNOUT: "Paperwork",
|
Scenes.id.ADULT_BURNOUT: "Paperwork",
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,10 +21,11 @@ func get_playback_id_from_scene(scene: int) -> int:
|
||||||
match scene:
|
match scene:
|
||||||
Scenes.id.ADULT_DND: return 1
|
Scenes.id.ADULT_DND: return 1
|
||||||
Scenes.id.ADULT_VOLUNTARY: return 2
|
Scenes.id.ADULT_VOLUNTARY: return 2
|
||||||
Scenes.id.ADULT_CHRISTMAS: return 3
|
Scenes.id.ADULT_AUTISM: return 3
|
||||||
Scenes.id.ADULT_EATING: return 4
|
Scenes.id.ADULT_EATING: return 4
|
||||||
Scenes.id.ADULT_UNI: return 5
|
Scenes.id.ADULT_SELF_ADVOCACY: return 5
|
||||||
Scenes.id.ADULT_THERAPY: return 6
|
Scenes.id.ADULT_THERAPY_UNI: return 6
|
||||||
|
Scenes.id.ADULT_THERAPY_VOLUNTEER: return 6
|
||||||
Scenes.id.ADULT_BURNOUT: return 7
|
Scenes.id.ADULT_BURNOUT: return 7
|
||||||
_: return 0
|
_: return 0
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,12 +15,14 @@ class_name SaveGame extends Resource
|
||||||
@export var board_positions: Dictionary[StringName, Vector2] = {} # Position of all cards and stickies
|
@export var board_positions: Dictionary[StringName, Vector2] = {} # Position of all cards and stickies
|
||||||
@export var board_attachments: Dictionary[StringName, StringName] = {} # Sticky name → Card name (if attached)
|
@export var board_attachments: Dictionary[StringName, StringName] = {} # Sticky name → Card name (if attached)
|
||||||
|
|
||||||
|
## Scenes / Items / IDs that were seen
|
||||||
|
@export var seen : Array[StringName] = []
|
||||||
|
|
||||||
@export var is_childhood_board_complete: bool = false
|
@export var is_childhood_board_complete: bool = false
|
||||||
@export var player_position: Vector3 = Vector3.ZERO
|
@export var player_position: Vector3 = Vector3.ZERO
|
||||||
@export var player_yaw: float = 0.0
|
@export var player_yaw: float = 0.0
|
||||||
@export var player_pitch: float = 0.0
|
@export var player_pitch: float = 0.0
|
||||||
@export var last_saved: int = 0
|
@export var last_saved: int = 0
|
||||||
@export var is_demo: bool = false
|
|
||||||
|
|
||||||
# === Computed Properties ===
|
# === Computed Properties ===
|
||||||
var is_valid: bool:
|
var is_valid: bool:
|
||||||
|
|
@ -65,7 +67,6 @@ static func create_new() -> SaveGame:
|
||||||
var save := SaveGame.new()
|
var save := SaveGame.new()
|
||||||
save.file_name = generate_save_path()
|
save.file_name = generate_save_path()
|
||||||
save.unique_save_name = save.file_name.get_file().get_basename()
|
save.unique_save_name = save.file_name.get_file().get_basename()
|
||||||
save.is_demo = OS.has_feature("Demo")
|
|
||||||
save.last_saved = int(Time.get_unix_time_from_system())
|
save.last_saved = int(Time.get_unix_time_from_system())
|
||||||
|
|
||||||
# Ensure save directory exists
|
# Ensure save directory exists
|
||||||
|
|
|
||||||
|
|
@ -45,16 +45,19 @@ var interaction_ui: Control
|
||||||
Scenes.id.ADULT_VOLUNTARY:
|
Scenes.id.ADULT_VOLUNTARY:
|
||||||
if title_override == "": title_label.text = TranslationServer.translate("Gemstone Art")
|
if title_override == "": title_label.text = TranslationServer.translate("Gemstone Art")
|
||||||
if subtitle_override == "": cn_label.text = ""
|
if subtitle_override == "": cn_label.text = ""
|
||||||
Scenes.id.ADULT_CHRISTMAS:
|
Scenes.id.ADULT_AUTISM:
|
||||||
if title_override == "": title_label.text = TranslationServer.translate("Chat Messages")
|
if title_override == "": title_label.text = TranslationServer.translate("Chat Messages")
|
||||||
if subtitle_override == "": cn_label.text = ""
|
if subtitle_override == "": cn_label.text = ""
|
||||||
Scenes.id.ADULT_EATING:
|
Scenes.id.ADULT_EATING:
|
||||||
if title_override == "": title_label.text = TranslationServer.translate("Dishes")
|
if title_override == "": title_label.text = TranslationServer.translate("Dishes")
|
||||||
if subtitle_override == "": cn_label.text = ""
|
if subtitle_override == "": cn_label.text = ""
|
||||||
Scenes.id.ADULT_UNI:
|
Scenes.id.ADULT_SELF_ADVOCACY:
|
||||||
if title_override == "": title_label.text = TranslationServer.translate("Science Poster")
|
if title_override == "": title_label.text = TranslationServer.translate("Science Poster")
|
||||||
if subtitle_override == "": cn_label.text = ""
|
if subtitle_override == "": cn_label.text = ""
|
||||||
Scenes.id.ADULT_THERAPY:
|
Scenes.id.ADULT_THERAPY_UNI:
|
||||||
|
if title_override == "": title_label.text = TranslationServer.translate("Doctors Note")
|
||||||
|
if subtitle_override == "": cn_label.text = ""
|
||||||
|
Scenes.id.ADULT_THERAPY_VOLUNTEER:
|
||||||
if title_override == "": title_label.text = TranslationServer.translate("Doctors Note")
|
if title_override == "": title_label.text = TranslationServer.translate("Doctors Note")
|
||||||
if subtitle_override == "": cn_label.text = ""
|
if subtitle_override == "": cn_label.text = ""
|
||||||
Scenes.id.ADULT_BURNOUT:
|
Scenes.id.ADULT_BURNOUT:
|
||||||
|
|
|
||||||
|
|
@ -21,12 +21,12 @@ enum id {
|
||||||
TRANSITION,
|
TRANSITION,
|
||||||
ADULT_DND,
|
ADULT_DND,
|
||||||
ADULT_VOLUNTARY,
|
ADULT_VOLUNTARY,
|
||||||
ADULT_CHRISTMAS,
|
ADULT_AUTISM,
|
||||||
ADULT_EATING,
|
ADULT_EATING,
|
||||||
ADULT_UNI,
|
ADULT_SELF_ADVOCACY,
|
||||||
ADULT_THERAPY,
|
ADULT_THERAPY_VOLUNTEER,
|
||||||
ADULT_BURNOUT,
|
ADULT_BURNOUT,
|
||||||
ADULT_UNKNOWN
|
ADULT_THERAPY_UNI
|
||||||
}
|
}
|
||||||
|
|
||||||
signal scene_starting(scene_id: id, is_repeating: bool)
|
signal scene_starting(scene_id: id, is_repeating: bool)
|
||||||
|
|
@ -66,15 +66,7 @@ func end_sequence(scene_id: id, repeat: bool) -> void:
|
||||||
# Re-enable player movement after cutscene
|
# Re-enable player movement after cutscene
|
||||||
player_enable.emit(true)
|
player_enable.emit(true)
|
||||||
|
|
||||||
# Legacy support - no longer needed
|
# TODO: put this in savegame into a "seen" array.
|
||||||
func continue_sequence(_former_actor: Object) -> void:
|
|
||||||
push_warning("continue_sequence is deprecated and does nothing.")
|
|
||||||
|
|
||||||
# Legacy support - no longer needed
|
|
||||||
func sign_up_for_sequence(_callable: Callable, _sequence_id: id, _index: int = 0) -> void:
|
|
||||||
push_warning("sign_up_for_sequence is deprecated. CollectableUi now manages playback directly.")
|
|
||||||
|
|
||||||
|
|
||||||
func is_sequence_repeating(index: int) -> bool:
|
func is_sequence_repeating(index: int) -> bool:
|
||||||
return completed_sequences & (1 << index) > 0
|
return completed_sequences & (1 << index) > 0
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue