Polish joined officer reward chips

This commit is contained in:
2026-06-20 15:16:47 +09:00
parent b4d84d82be
commit 310def9617
3 changed files with 89 additions and 7 deletions

View File

@@ -24,7 +24,7 @@ func _init() -> void:
"pending_choice": false,
"gold": 100,
"items": ["bean", "bean"],
"joined_officers": ["dian_wei"],
"joined_officers": ["xiahou_yuan", "cao_ren"],
"left_officers": [],
"progression_events": [
{"type": "level_up", "name": "조조", "to_level": 2}
@@ -38,7 +38,7 @@ func _init() -> void:
_check_contains(failures, "reward section", result_text, "전리품")
_check_contains(failures, "gold reward", result_text, "군자금 +100냥")
_check_contains(failures, "item reward", result_text, "콩 2점")
_check_contains(failures, "roster section", result_text, "합류: 전위")
_check_contains(failures, "roster section", result_text, "합류: 하후연, 조인")
_check_contains(failures, "growth section", result_text, "조조 품계 2")
_check_contains(failures, "campaign section", result_text, "다음 행군: 사수관 선봉전")
_check_contains(failures, "next camp section", result_text, "다음 군막")
@@ -51,12 +51,17 @@ func _init() -> void:
scene._rebuild_result_reward_strip()
if scene.result_reward_strip == null or not scene.result_reward_strip.visible:
failures.append("victory result should show a compact reward icon strip")
elif scene.result_reward_strip.get_child_count() < 3:
failures.append("reward icon strip should include gold, item, and officer chips")
elif scene.result_reward_strip.get_child_count() < 4:
failures.append("reward icon strip should include gold, item, and two opening officer chips")
var reward_tooltips := _collect_tooltips(scene.result_reward_strip)
_check_contains(failures, "reward strip gold tooltip", reward_tooltips, "군자금 +100냥")
_check_contains(failures, "reward strip item tooltip", reward_tooltips, "물자: 콩 2점")
_check_contains(failures, "reward strip officer tooltip", reward_tooltips, "합류: 전위")
_check_contains(failures, "reward strip Xiahou Yuan tooltip", reward_tooltips, "합류: 하후연")
_check_contains(failures, "reward strip Cao Ren tooltip", reward_tooltips, "합류: 조인")
_check_contains(failures, "reward strip archer class tooltip", reward_tooltips, "병과: 궁병")
_check_contains(failures, "reward strip infantry class tooltip", reward_tooltips, "병과: 보병")
if _count_named_nodes(scene.result_reward_strip, "ResultRewardClassBadge") < 2:
failures.append("joined officer reward chips should show compact class crests")
if not _has_texture_rect(scene.result_reward_strip):
failures.append("reward icon strip should reuse item or officer artwork")
@@ -161,3 +166,10 @@ func _has_texture_rect(root: Node) -> bool:
if _has_texture_rect(child):
return true
return false
func _count_named_nodes(root: Node, node_name: String) -> int:
var count := 1 if root.name == node_name else 0
for child in root.get_children():
count += _count_named_nodes(child, node_name)
return count