Show idle officer selection plate

This commit is contained in:
2026-06-20 20:33:42 +09:00
parent 9b92471921
commit 41cce2baa1
2 changed files with 23 additions and 14 deletions

View File

@@ -10788,26 +10788,27 @@ func _update_hud_unit_portrait(unit: Dictionary) -> void:
if hud_unit_portrait_panel == null: if hud_unit_portrait_panel == null:
return return
if unit.is_empty(): if unit.is_empty():
hud_unit_portrait_panel.visible = false var empty_tooltip := _format_empty_hud_focus_detail_text()
hud_unit_portrait_panel.tooltip_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.texture = null
hud_unit_portrait_texture.visible = false hud_unit_portrait_texture.visible = false
hud_unit_portrait_texture.tooltip_text = "" hud_unit_portrait_texture.tooltip_text = empty_tooltip
hud_unit_portrait_label.text = "" hud_unit_portrait_label.text = "장수"
hud_unit_portrait_label.visible = false hud_unit_portrait_label.visible = true
hud_unit_portrait_label.tooltip_text = "" hud_unit_portrait_label.tooltip_text = empty_tooltip
if hud_unit_team_seal_panel != null: if hud_unit_team_seal_panel != null:
hud_unit_team_seal_panel.visible = false hud_unit_team_seal_panel.visible = true
hud_unit_team_seal_panel.tooltip_text = "" hud_unit_team_seal_panel.tooltip_text = empty_tooltip
if hud_unit_team_seal_label != null: if hud_unit_team_seal_label != null:
hud_unit_team_seal_label.text = "" hud_unit_team_seal_label.text = ""
hud_unit_team_seal_label.tooltip_text = "" hud_unit_team_seal_label.tooltip_text = empty_tooltip
if hud_unit_portrait_class_panel != null: if hud_unit_portrait_class_panel != null:
hud_unit_portrait_class_panel.visible = false hud_unit_portrait_class_panel.visible = true
hud_unit_portrait_class_panel.tooltip_text = "" hud_unit_portrait_class_panel.tooltip_text = empty_tooltip
if hud_unit_portrait_class_icon != null: if hud_unit_portrait_class_icon != null:
hud_unit_portrait_class_icon.texture = null hud_unit_portrait_class_icon.texture = _make_toolbar_icon("unit_list")
hud_unit_portrait_class_icon.tooltip_text = "" hud_unit_portrait_class_icon.tooltip_text = empty_tooltip
return return
hud_unit_portrait_panel.visible = true hud_unit_portrait_panel.visible = true
var focus_detail := _format_unit_focus_text(unit, "Hover") var focus_detail := _format_unit_focus_text(unit, "Hover")

View File

@@ -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) 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("군세"): 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) 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 != "군수 대기": 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)) 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("도구")): if scene.inventory_label != null and (not scene.inventory_label.tooltip_text.contains("장수 선택") or not scene.inventory_label.tooltip_text.contains("도구")):