diff --git a/export_presets.cfg b/export_presets.cfg index 59c5fcb6..ac9ac561 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -9,7 +9,7 @@ custom_features="" export_filter="all_resources" include_filter="" exclude_filter="" -export_path="../衔蝶demo0.2.0.exe" +export_path="../衔蝶demo0.2.3.exe" patches=PackedStringArray() encryption_include_filters="" encryption_exclude_filters="" @@ -37,8 +37,8 @@ application/modify_resources=true application/icon="uid://cxgwspjv16j7m" application/console_wrapper_icon="uid://cxgwspjv16j7m" application/icon_interpolation=4 -application/file_version="0.2.0.0" -application/product_version="0.2.0.0" +application/file_version="0.2.3.0" +application/product_version="0.2.3.0" application/company_name="包包丁" application/product_name="衔蝶" application/file_description="衔蝶" diff --git a/manager/scene/scene_manager.gd b/manager/scene/scene_manager.gd index f81af4e1..8ef55f8e 100644 --- a/manager/scene/scene_manager.gd +++ b/manager/scene/scene_manager.gd @@ -395,12 +395,12 @@ func toggle_pause_counter(plus := true) -> void: func quit_game() -> void: - # 防止 await 阻塞导致 bug - if get_node_or_null("/root/Main"): - get_inspector().quit_and_hidden.emit() - DialogueManager.dialogue_ended.emit(null) - get_player().os_finished.emit("") - get_player().animation_finished.emit() + # 防止 await 阻塞导致 bug, 防止 index 进入时跳过院长房间 intro + # if get_node_or_null("/root/Main") != null: + # get_inspector().quit_and_hidden.emit() + # DialogueManager.dialogue_ended.emit(null) + # get_player().os_finished.emit("") + # get_player().animation_finished.emit() ArchiveManager.save_all() var ground_loader = get_ground_loader() as GroundLoader diff --git a/scene/ground/scene/animation_root.gd b/scene/ground/scene/animation_root.gd index 4fd944bb..011e504d 100644 --- a/scene/ground/scene/animation_root.gd +++ b/scene/ground/scene/animation_root.gd @@ -80,7 +80,7 @@ func _on_ready() -> void: return # 仅在首次进入场景时触发 if oneshot_animation: - if not data["oneshot_animation_played"]: + if not data.get("oneshot_animation_played"): play(oneshot_animation) animation_finished.connect(_oneshot_animation_finished, CONNECT_ONE_SHOT) else: diff --git a/scene/ground/scene/c01/s05_院长房间.gd b/scene/ground/scene/c01/s05_院长房间.gd index f2e178de..23a94094 100644 --- a/scene/ground/scene/c01/s05_院长房间.gd +++ b/scene/ground/scene/c01/s05_院长房间.gd @@ -10,11 +10,14 @@ var piano: Interactable2D # 覆盖该方法 func _default_data() -> Dictionary: - return {"frame_relocated": false} + return {"frame_relocated": false, + "intro_played": false + } func _ready() -> void: super._ready() + func intro_start(): SceneManager.lock_player() @@ -23,6 +26,7 @@ func intro_start(): $"../DeployLayer/床".enabled = true await Util.wait(1) show_interact_help() + set_data("intro_played", true) func play_intro_dialogue(): # 直接使用 sfx,防止下方字幕与全屏文字重复 @@ -73,6 +77,9 @@ func _on_ground_ready() -> void: paper.interacted.connect(_on_paper_interacted, CONNECT_ONE_SHOT) piano.interacted.connect(_on_piano_interacted) + # play intro + if not data.get("intro_played"): + play("intro") func cant_read(): diff --git a/scene/ground/scene/c01/s05_院长房间.tscn b/scene/ground/scene/c01/s05_院长房间.tscn index b739eb7d..cc256201 100644 --- a/scene/ground/scene/c01/s05_院长房间.tscn +++ b/scene/ground/scene/c01/s05_院长房间.tscn @@ -661,7 +661,7 @@ debug_ground_data = Dictionary[String, Variant]({ "interacted_times": 0 } }) -oneshot_animation = "intro" +oneshot_animation = "" [node name="intro_audio_player" type="AudioStreamPlayer" parent="Ground/AnimationPlayer" index="0"] stream = ExtResource("3_sluu3")