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: