diff --git a/scripts/scenes/battle_scene.gd b/scripts/scenes/battle_scene.gd index ece4fd0..c8aadb9 100644 --- a/scripts/scenes/battle_scene.gd +++ b/scripts/scenes/battle_scene.gd @@ -10788,26 +10788,27 @@ func _update_hud_unit_portrait(unit: Dictionary) -> void: if hud_unit_portrait_panel == null: return if unit.is_empty(): - hud_unit_portrait_panel.visible = false - hud_unit_portrait_panel.tooltip_text = "" + var empty_tooltip := _format_empty_hud_focus_detail_text() + hud_unit_portrait_panel.visible = true + hud_unit_portrait_panel.tooltip_text = empty_tooltip hud_unit_portrait_texture.texture = null hud_unit_portrait_texture.visible = false - hud_unit_portrait_texture.tooltip_text = "" - hud_unit_portrait_label.text = "" - hud_unit_portrait_label.visible = false - hud_unit_portrait_label.tooltip_text = "" + hud_unit_portrait_texture.tooltip_text = empty_tooltip + hud_unit_portrait_label.text = "장수" + hud_unit_portrait_label.visible = true + hud_unit_portrait_label.tooltip_text = empty_tooltip if hud_unit_team_seal_panel != null: - hud_unit_team_seal_panel.visible = false - hud_unit_team_seal_panel.tooltip_text = "" + hud_unit_team_seal_panel.visible = true + hud_unit_team_seal_panel.tooltip_text = empty_tooltip if hud_unit_team_seal_label != null: - hud_unit_team_seal_label.text = "" - hud_unit_team_seal_label.tooltip_text = "" + hud_unit_team_seal_label.text = "군" + hud_unit_team_seal_label.tooltip_text = empty_tooltip if hud_unit_portrait_class_panel != null: - hud_unit_portrait_class_panel.visible = false - hud_unit_portrait_class_panel.tooltip_text = "" + hud_unit_portrait_class_panel.visible = true + hud_unit_portrait_class_panel.tooltip_text = empty_tooltip if hud_unit_portrait_class_icon != null: - hud_unit_portrait_class_icon.texture = null - hud_unit_portrait_class_icon.tooltip_text = "" + hud_unit_portrait_class_icon.texture = _make_toolbar_icon("unit_list") + hud_unit_portrait_class_icon.tooltip_text = empty_tooltip return hud_unit_portrait_panel.visible = true var focus_detail := _format_unit_focus_text(unit, "Hover") diff --git a/tools/smoke_visual_assets.gd b/tools/smoke_visual_assets.gd index de40c8c..5fa83e5 100644 --- a/tools/smoke_visual_assets.gd +++ b/tools/smoke_visual_assets.gd @@ -3558,6 +3558,14 @@ func _check_hud_focus_text(failures: Array[String]) -> void: failures.append("empty battle HUD should keep instructions out of visible text: %s" % scene.selected_label.text) if scene.selected_label != null and not scene.selected_label.tooltip_text.contains("군세"): failures.append("empty battle HUD tooltip should point players to the unit list: %s" % scene.selected_label.tooltip_text) + if scene.hud_unit_portrait_panel == null or not scene.hud_unit_portrait_panel.visible: + failures.append("empty battle HUD should still show a visual officer-selection plate") + if scene.hud_unit_portrait_label == null or scene.hud_unit_portrait_label.text != "장수" or not scene.hud_unit_portrait_label.visible: + failures.append("empty battle HUD portrait should use a readable officer placeholder: %s" % ("" if scene.hud_unit_portrait_label == null else scene.hud_unit_portrait_label.text)) + if scene.hud_unit_team_seal_label == null or scene.hud_unit_team_seal_label.text != "군": + failures.append("empty battle HUD portrait should mark the command roster plate: %s" % ("" if scene.hud_unit_team_seal_label == null else scene.hud_unit_team_seal_label.text)) + if scene.hud_unit_portrait_class_icon == null or scene.hud_unit_portrait_class_icon.texture == null: + failures.append("empty battle HUD portrait should use a generated unit-list icon instead of an empty black plate") if scene.inventory_label == null or scene.inventory_label.text != "군수 대기": failures.append("empty battle inventory line should not show noisy stock text: %s" % ("" if scene.inventory_label == null else scene.inventory_label.text)) if scene.inventory_label != null and (not scene.inventory_label.tooltip_text.contains("장수 선택") or not scene.inventory_label.tooltip_text.contains("도구")):