Compact battle unit list status

This commit is contained in:
2026-06-20 10:54:41 +09:00
parent e4bd606083
commit 50fe3961e3
2 changed files with 27 additions and 5 deletions

View File

@@ -13033,6 +13033,7 @@ func _rebuild_battle_unit_list_rows() -> void:
battle_unit_list_enemy_button.disabled = battle_unit_list_mode == "enemy"
if battle_unit_list_status_label != null:
battle_unit_list_status_label.text = _format_battle_unit_list_status(units)
battle_unit_list_status_label.tooltip_text = _format_battle_unit_list_status_tooltip(units)
if units.is_empty():
var empty_label := Label.new()
empty_label.text = "남은 부대 없음"
@@ -13062,18 +13063,33 @@ func _battle_unit_list_mode_label() -> String:
func _format_battle_unit_list_status(units: Array[Dictionary]) -> String:
return "%d부대" % units.size()
func _format_battle_unit_list_status_tooltip(units: Array[Dictionary]) -> String:
if battle_unit_list_mode == "enemy":
return "잔적 %d" % units.size()
return "남은 적군 %d부대\n행 위에 마우스를 올리면 병종, 병력, 위치, 적 행동 방침을 봅니다." % units.size()
var ready_count := 0
var done_count := 0
var guard_count := 0
for unit in units:
if not bool(unit.get("alive", true)) or not bool(unit.get("controllable", true)):
if not bool(unit.get("alive", true)):
continue
if not bool(unit.get("controllable", true)):
guard_count += 1
continue
if bool(unit.get("acted", false)):
done_count += 1
else:
ready_count += 1
return "행동 %d · 완료 %d" % [ready_count, done_count]
var lines := [
"아군 %d부대" % units.size(),
"명령 가능 %d · 행동 완료 %d" % [ready_count, done_count]
]
if guard_count > 0:
lines.append("호위 대상 %d" % guard_count)
lines.append("행 위에 마우스를 올리면 병종, 병력, 위치, 장비를 봅니다.")
return _join_strings(lines, "\n")
func _make_battle_unit_list_row(unit: Dictionary) -> HBoxContainer: