From 94737d7ccee3cb07b2bcefd28878d0f587aeb23d Mon Sep 17 00:00:00 2001 From: cakipaul Date: Thu, 24 Jul 2025 18:06:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B9=A6=E5=BA=97=E6=8B=BC=E4=BF=A1=E4=BB=B6?= =?UTF-8?q?=EF=BC=88=E4=BB=A5=E5=8F=8A=E4=B9=A6=E6=9E=B6=EF=BC=89=E6=B8=B8?= =?UTF-8?q?=E6=88=8F=E4=BD=BF=E7=94=A8=20lock=20=E8=80=8C=E9=9D=9E=20freez?= =?UTF-8?q?e=EF=BC=8C=E9=98=B2=E6=AD=A2=E4=BF=A1=E4=BB=B6=E6=8B=BC?= =?UTF-8?q?=E6=88=90=E5=8A=9F=E6=97=B6=EF=BC=8C=E9=94=99=E8=AF=AF=E5=9C=B0?= =?UTF-8?q?=E4=BA=A4=E4=BA=92=E5=88=B0=E6=9F=9C=E5=AD=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scene/character/reenter_lock.gd | 15 ++++++++------- scene/ground/scene/c01/s08_书店.gd | 14 +++++++------- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/scene/character/reenter_lock.gd b/scene/character/reenter_lock.gd index 2112f668..55e05366 100644 --- a/scene/character/reenter_lock.gd +++ b/scene/character/reenter_lock.gd @@ -57,7 +57,7 @@ func freeze(duration := 0.0) -> void: _freeze_requests += 1 var f_requests = _freeze_requests _request_mutex.unlock() - print("[Lock] Freeze applied: ", _freeze_requests) + print("[Lock] Freeze applied: ", f_requests) if GlobalConfig.DEBUG: print("freeze from: ", _get_stack_info()) freeze_changed.emit(f_requests, true) @@ -77,7 +77,7 @@ func release() -> void: _freeze_requests = 0 var f_requests = _freeze_requests _request_mutex.unlock() - print("[Lock] Release applied: ", _freeze_requests) + print("[Lock] Release applied: ", f_requests) if GlobalConfig.DEBUG: print("release from: ", _get_stack_info()) freeze_changed.emit(f_requests, false) @@ -89,11 +89,12 @@ func hold(duration := 0.0) -> void: _create_timer(duration, unhold) _request_mutex.lock() _hold_requests += 1 + var h_requests = _hold_requests _request_mutex.unlock() - print("[Lock] Hold applied: ", _hold_requests) + print("[Lock] Hold applied: ", h_requests) if GlobalConfig.DEBUG: print("hold from: ", _get_stack_info()) - hold_changed.emit(_hold_requests, true) + hold_changed.emit(h_requests, true) func unhold() -> void: @@ -110,7 +111,7 @@ func unhold() -> void: _hold_requests = 0 var h_requests = _hold_requests _request_mutex.unlock() - print("[Lock] Unhold applied: ", _hold_requests) + print("[Lock] Unhold applied: ", h_requests) if GlobalConfig.DEBUG: print("unhold from: ", _get_stack_info()) hold_changed.emit(h_requests, true) @@ -143,7 +144,7 @@ func lock_all(duration := 0.0) -> void: var h_requests = _hold_requests var f_requests = _freeze_requests _request_mutex.unlock() - prints("[Lock] LockAll applied (hold, freeze): ", _hold_requests, _freeze_requests) + prints("[Lock] LockAll applied (hold, freeze): ", h_requests, f_requests) if GlobalConfig.DEBUG: print("lock_all from: ", _get_stack_info()) hold_changed.emit(h_requests, true) @@ -177,7 +178,7 @@ func unlock_all() -> void: _request_mutex.unlock() hold_changed.emit(h_requests, false) freeze_changed.emit(f_requests, false) - prints("[Lock] UnlockAll applied (hold, freeze): ", _hold_requests, _freeze_requests) + prints("[Lock] UnlockAll applied (hold, freeze): ", h_requests, f_requests) if GlobalConfig.DEBUG: print("unlock_all from: ", _get_stack_info()) diff --git a/scene/ground/scene/c01/s08_书店.gd b/scene/ground/scene/c01/s08_书店.gd index d1aad505..ff0fe0f2 100644 --- a/scene/ground/scene/c01/s08_书店.gd +++ b/scene/ground/scene/c01/s08_书店.gd @@ -119,14 +119,14 @@ func _exit_tree() -> void: func play_shelf_game() -> void: if shelf_game_node.get_parent() != get_parent(): get_parent().add_child(shelf_game_node) - SceneManager.freeze_player(0) + SceneManager.lock_player() func _on_shelf_game_exiting() -> void: if GlobalConfig.DEBUG: print("书架游戏 exiting") create_tween().tween_property(mask, "color:a", 0.0, 1.0).from(1.0) - SceneManager.release_player() + SceneManager.unlock_player() func _on_shelf_game_success() -> void: @@ -161,7 +161,7 @@ func _on_fall_off_finished() -> void: await Util.wait(2.5) await SceneManager.pop_os_with_str("c01_s08_书架游戏恢复记忆") # 最后释放玩家 - SceneManager.release_player() + SceneManager.unlock_player() func _setup_weird_bookstore() -> void: @@ -185,24 +185,24 @@ func _setup_weird_bookstore() -> void: func play_envelope_game() -> void: if envelope_game_node.get_parent() != get_parent(): - get_parent().add_child(envelope_game_node) - SceneManager.freeze_player(0) + get_parent().add_child.call_deferred(envelope_game_node) + SceneManager.lock_player() func _on_envelope_game_exiting() -> void: if GlobalConfig.DEBUG: print("信封游戏 exiting") create_tween().tween_property(mask, "color:a", 0.0, 1.0).from(1.0) - SceneManager.release_player() + SceneManager.unlock_player() func _on_envelope_game_success() -> void: - SceneManager.release_player() envolope_table.enabled = false create_tween().tween_property(mask, "color:a", 0.0, 1.0).from(1.0) ArchiveManager.set_global_entry(&"envelope_game_success", true) envelope_game_success = true _check_portal() + SceneManager.unlock_player() func pay_off_wage() -> void: