From bfd79c6934101d55f8edf17d2ed973755d966c55 Mon Sep 17 00:00:00 2001 From: chen Date: Sun, 9 Aug 2026 17:22:26 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=AE=A1=E7=90=86=E9=9D=A2=E6=9D=BF?= =?UTF-8?q?=E5=85=B3=E9=97=AD=E6=97=B6=E6=81=A2=E5=A4=8D=E6=89=93=E5=BC=80?= =?UTF-8?q?=E5=89=8D=E6=9A=82=E5=81=9C=E7=8A=B6=E6=80=81=EF=BC=88=E4=B8=8D?= =?UTF-8?q?=E5=86=B2=E6=8E=89=E6=89=8B=E5=8A=A8=E6=9A=82=E5=81=9C=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/UI/Panels/BuildingsPanel/buildings_panel.gd | 8 ++++++-- src/UI/Panels/DisciplesPanel/disciples_panel.gd | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/UI/Panels/BuildingsPanel/buildings_panel.gd b/src/UI/Panels/BuildingsPanel/buildings_panel.gd index 68f4cad..5298c8b 100644 --- a/src/UI/Panels/BuildingsPanel/buildings_panel.gd +++ b/src/UI/Panels/BuildingsPanel/buildings_panel.gd @@ -6,6 +6,9 @@ extends Control @onready var title_label: Label = %TitleLabel @onready var list_container: VBoxContainer = %ListContainer +## 打开面板前的暂停状态(关闭时恢复,避免冲掉玩家手动暂停)。 +var _was_paused := false + func _ready() -> void: BuildingManager.buildings_changed.connect(_on_buildings_changed) @@ -13,14 +16,15 @@ func _ready() -> void: ## 打开面板并刷新列表(暂停时间推进)。 func show_panel() -> void: + _was_paused = TimeSystem.paused _refresh() TimeSystem.set_paused(true) visible = true -## 关闭面板(恢复时间推进)。 +## 关闭面板(恢复打开前的暂停状态)。 func hide_panel() -> void: visible = false - TimeSystem.set_paused(false) + TimeSystem.set_paused(_was_paused) ## 点击遮罩关闭面板。 func _on_backdrop_gui_input(event: InputEvent) -> void: diff --git a/src/UI/Panels/DisciplesPanel/disciples_panel.gd b/src/UI/Panels/DisciplesPanel/disciples_panel.gd index bcdb5e2..3248a69 100644 --- a/src/UI/Panels/DisciplesPanel/disciples_panel.gd +++ b/src/UI/Panels/DisciplesPanel/disciples_panel.gd @@ -14,6 +14,9 @@ const APTITUDE_COLORS := { @onready var empty_label: Label = %EmptyLabel @onready var detail_panel: Control = %DiscipleDetailPanel +## 打开面板前的暂停状态(关闭时恢复,避免冲掉玩家手动暂停)。 +var _was_paused := false + func _ready() -> void: # 名录变化时刷新(面板打开期间也同步) @@ -22,14 +25,15 @@ func _ready() -> void: ## 打开面板并刷新列表(暂停时间推进)。 func show_panel() -> void: + _was_paused = TimeSystem.paused _refresh_list() TimeSystem.set_paused(true) visible = true -## 关闭面板(恢复时间推进;子层详情弹窗随父隐藏)。 +## 关闭面板(恢复打开前的暂停状态;子层详情弹窗随父隐藏)。 func hide_panel() -> void: visible = false - TimeSystem.set_paused(false) + TimeSystem.set_paused(_was_paused) ## 点击遮罩关闭面板。 func _on_backdrop_gui_input(event: InputEvent) -> void: