Compact battle unit list status
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user