Age battle command chrome
This commit is contained in:
@@ -213,6 +213,7 @@ var status_label: Label
|
||||
var objective_label: Label
|
||||
var campaign_status_label: Label
|
||||
var mission_title_label: Label
|
||||
var mission_detail_panel: PanelContainer
|
||||
var mission_detail_label: Label
|
||||
var objective_notice_panel: PanelContainer
|
||||
var objective_notice_label: Label
|
||||
@@ -1010,7 +1011,7 @@ func _create_hud() -> void:
|
||||
top_row.add_child(restart_button)
|
||||
|
||||
new_campaign_button = Button.new()
|
||||
new_campaign_button.text = "새 전기"
|
||||
new_campaign_button.text = "새 전기 열기"
|
||||
new_campaign_button.pressed.connect(_on_new_campaign_pressed)
|
||||
top_row.add_child(new_campaign_button)
|
||||
|
||||
@@ -1089,7 +1090,7 @@ func _create_hud() -> void:
|
||||
_apply_label_style(mission_title_label, UI_OLD_BRONZE)
|
||||
side_column.add_child(mission_title_label)
|
||||
|
||||
var mission_detail_panel := PanelContainer.new()
|
||||
mission_detail_panel = PanelContainer.new()
|
||||
mission_detail_panel.custom_minimum_size = Vector2(420, 134)
|
||||
mission_detail_panel.size_flags_horizontal = Control.SIZE_EXPAND_FILL
|
||||
_apply_panel_style(mission_detail_panel, "bamboo_slips")
|
||||
@@ -1099,14 +1100,17 @@ func _create_hud() -> void:
|
||||
mission_detail_row.add_theme_constant_override("separation", 8)
|
||||
mission_detail_panel.add_child(mission_detail_row)
|
||||
|
||||
mission_detail_row.add_child(_make_ornament_bar(5, 112))
|
||||
mission_detail_row.add_child(_make_bamboo_gutter(12, 112))
|
||||
mission_detail_row.add_child(_make_edict_marker_stack(["令", "勝", "敗"], 112))
|
||||
|
||||
mission_detail_label = Label.new()
|
||||
mission_detail_label.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART
|
||||
mission_detail_label.custom_minimum_size = Vector2(384, 112)
|
||||
mission_detail_label.custom_minimum_size = Vector2(292, 112)
|
||||
mission_detail_label.size_flags_horizontal = Control.SIZE_EXPAND_FILL
|
||||
_apply_label_style(mission_detail_label, UI_PARCHMENT_TEXT)
|
||||
mission_detail_row.add_child(mission_detail_label)
|
||||
mission_detail_row.add_child(_make_edict_marker_stack(["功", "兆", "封"], 112))
|
||||
mission_detail_row.add_child(_make_bamboo_gutter(12, 112))
|
||||
|
||||
cell_info_label = Label.new()
|
||||
cell_info_label.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART
|
||||
@@ -1131,17 +1135,17 @@ func _create_hud() -> void:
|
||||
side_column.add_child(button_row)
|
||||
|
||||
wait_button = Button.new()
|
||||
wait_button.text = "대기"
|
||||
wait_button.text = "대기령"
|
||||
wait_button.pressed.connect(_on_wait_pressed)
|
||||
button_row.add_child(wait_button)
|
||||
|
||||
tactic_button = Button.new()
|
||||
tactic_button.text = "책략"
|
||||
tactic_button.text = "책략첩"
|
||||
tactic_button.pressed.connect(_on_tactic_pressed)
|
||||
button_row.add_child(tactic_button)
|
||||
|
||||
item_button = Button.new()
|
||||
item_button.text = "도구"
|
||||
item_button.text = "보급첩"
|
||||
item_button.pressed.connect(_on_item_pressed)
|
||||
button_row.add_child(item_button)
|
||||
|
||||
@@ -1151,13 +1155,13 @@ func _create_hud() -> void:
|
||||
button_row.add_child(equip_button)
|
||||
|
||||
threat_button = Button.new()
|
||||
threat_button.text = "적진"
|
||||
threat_button.text = "적진도"
|
||||
threat_button.toggle_mode = true
|
||||
threat_button.pressed.connect(_on_threat_pressed)
|
||||
button_row.add_child(threat_button)
|
||||
|
||||
end_turn_button = Button.new()
|
||||
end_turn_button.text = "군령 종료"
|
||||
end_turn_button.text = "군령 봉함"
|
||||
end_turn_button.pressed.connect(_on_end_turn_pressed)
|
||||
button_row.add_child(end_turn_button)
|
||||
|
||||
@@ -1167,7 +1171,7 @@ func _create_hud() -> void:
|
||||
side_column.add_child(tactic_menu)
|
||||
|
||||
var tactic_title := Label.new()
|
||||
tactic_title.text = "책략"
|
||||
tactic_title.text = "책략첩"
|
||||
_apply_label_style(tactic_title, UI_OLD_BRONZE, 14)
|
||||
tactic_menu.add_child(tactic_title)
|
||||
|
||||
@@ -1181,7 +1185,7 @@ func _create_hud() -> void:
|
||||
side_column.add_child(item_menu)
|
||||
|
||||
var item_title := Label.new()
|
||||
item_title.text = "도구"
|
||||
item_title.text = "보급첩"
|
||||
_apply_label_style(item_title, UI_OLD_BRONZE, 14)
|
||||
item_menu.add_child(item_title)
|
||||
|
||||
@@ -1229,25 +1233,25 @@ func _create_hud() -> void:
|
||||
post_move_column.add_child(post_move_grid)
|
||||
|
||||
post_move_attack_button = Button.new()
|
||||
post_move_attack_button.text = "공격"
|
||||
post_move_attack_button.text = "타격령"
|
||||
post_move_attack_button.tooltip_text = "이 자리에서 칠 적군을 지목합니다."
|
||||
post_move_attack_button.pressed.connect(_on_post_move_attack_pressed)
|
||||
post_move_grid.add_child(post_move_attack_button)
|
||||
|
||||
post_move_tactic_button = Button.new()
|
||||
post_move_tactic_button.text = "책략"
|
||||
post_move_tactic_button.text = "책략첩"
|
||||
post_move_tactic_button.tooltip_text = "군령에 올릴 책략 죽간을 고릅니다."
|
||||
post_move_tactic_button.pressed.connect(_on_post_move_tactic_pressed)
|
||||
post_move_grid.add_child(post_move_tactic_button)
|
||||
|
||||
post_move_item_button = Button.new()
|
||||
post_move_item_button.text = "도구"
|
||||
post_move_item_button.text = "보급첩"
|
||||
post_move_item_button.tooltip_text = "군령에 올릴 보급 물자를 고릅니다."
|
||||
post_move_item_button.pressed.connect(_on_post_move_item_pressed)
|
||||
post_move_grid.add_child(post_move_item_button)
|
||||
|
||||
post_move_wait_button = Button.new()
|
||||
post_move_wait_button.text = "대기"
|
||||
post_move_wait_button.text = "대기령"
|
||||
post_move_wait_button.tooltip_text = "행군을 확정하고 군령을 봉인합니다."
|
||||
post_move_wait_button.pressed.connect(_on_post_move_wait_pressed)
|
||||
post_move_grid.add_child(post_move_wait_button)
|
||||
@@ -1566,12 +1570,12 @@ func _create_hud() -> void:
|
||||
shop_menu.add_child(shop_mode_row)
|
||||
|
||||
shop_buy_button = Button.new()
|
||||
shop_buy_button.text = "매입"
|
||||
shop_buy_button.text = "사들이기"
|
||||
shop_buy_button.pressed.connect(_on_shop_buy_mode_pressed)
|
||||
shop_mode_row.add_child(shop_buy_button)
|
||||
|
||||
shop_sell_button = Button.new()
|
||||
shop_sell_button.text = "매각"
|
||||
shop_sell_button.text = "내다팔기"
|
||||
shop_sell_button.pressed.connect(_on_shop_sell_mode_pressed)
|
||||
shop_mode_row.add_child(shop_sell_button)
|
||||
|
||||
@@ -1775,14 +1779,16 @@ func _create_hud() -> void:
|
||||
dialogue_text_panel.add_child(dialogue_text_row)
|
||||
|
||||
dialogue_text_row.add_child(_make_bamboo_gutter(18, DIALOGUE_TEXT_SIZE.y - 20))
|
||||
dialogue_text_row.add_child(_make_edict_marker_stack(["言", "問", "答"], DIALOGUE_TEXT_SIZE.y - 20))
|
||||
|
||||
dialogue_text_label = Label.new()
|
||||
dialogue_text_label.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART
|
||||
dialogue_text_label.custom_minimum_size = Vector2(DIALOGUE_TEXT_SIZE.x - 88, DIALOGUE_TEXT_SIZE.y - 20)
|
||||
dialogue_text_label.custom_minimum_size = Vector2(DIALOGUE_TEXT_SIZE.x - 164, DIALOGUE_TEXT_SIZE.y - 20)
|
||||
dialogue_text_label.size_flags_horizontal = Control.SIZE_EXPAND_FILL
|
||||
dialogue_text_label.size_flags_vertical = Control.SIZE_EXPAND_FILL
|
||||
_apply_label_style(dialogue_text_label, UI_AGED_INK, 17)
|
||||
dialogue_text_row.add_child(dialogue_text_label)
|
||||
dialogue_text_row.add_child(_make_edict_marker_stack(["錄", "軍", "印"], DIALOGUE_TEXT_SIZE.y - 20))
|
||||
dialogue_text_row.add_child(_make_bamboo_gutter(18, DIALOGUE_TEXT_SIZE.y - 20))
|
||||
|
||||
dialogue_column.add_child(_make_scroll_rod(DIALOGUE_TEXT_SIZE.x, 3))
|
||||
@@ -1863,7 +1869,7 @@ func _create_hud() -> void:
|
||||
result_column.add_child(result_restart_button)
|
||||
|
||||
next_battle_button = Button.new()
|
||||
next_battle_button.text = "다음 전장으로"
|
||||
next_battle_button.text = "다음 전장도"
|
||||
next_battle_button.pressed.connect(_on_next_battle_pressed)
|
||||
result_column.add_child(next_battle_button)
|
||||
|
||||
@@ -3800,10 +3806,10 @@ func _format_objective_hud_text() -> String:
|
||||
var lines := []
|
||||
var victory := String(state.objectives.get("victory", "적군을 모두 격파하라."))
|
||||
if not victory.is_empty():
|
||||
lines.append("勝令|%s" % victory)
|
||||
lines.append("勝令|朱批 %s" % victory)
|
||||
var defeat := String(state.objectives.get("defeat", ""))
|
||||
if not defeat.is_empty():
|
||||
lines.append("敗兆|%s" % defeat)
|
||||
lines.append("敗兆|墨戒 %s" % defeat)
|
||||
if lines.is_empty():
|
||||
return "勝令"
|
||||
return _join_strings(lines, "\n")
|
||||
@@ -4002,21 +4008,21 @@ func _format_mission_panel_text() -> String:
|
||||
var victory := str(state.objectives.get("victory", ""))
|
||||
if not victory.is_empty():
|
||||
lines.append("勝令")
|
||||
lines.append(" %s" % victory)
|
||||
lines.append(" 令牌|%s" % victory)
|
||||
var defeat := str(state.objectives.get("defeat", ""))
|
||||
if not defeat.is_empty():
|
||||
lines.append("敗兆")
|
||||
lines.append(" %s" % defeat)
|
||||
lines.append(" 戒牌|%s" % defeat)
|
||||
var progress_lines := state.get_objective_progress_lines(false, false)
|
||||
if not progress_lines.is_empty():
|
||||
lines.append("戰功 죽간")
|
||||
for progress_line in progress_lines:
|
||||
lines.append(" %s" % progress_line)
|
||||
lines.append(" 功簿|%s" % progress_line)
|
||||
var risk_lines := state.get_defeat_progress_lines()
|
||||
if not risk_lines.is_empty():
|
||||
lines.append("凶兆 징후")
|
||||
for risk_line in risk_lines:
|
||||
lines.append(" %s" % risk_line)
|
||||
lines.append(" 凶簡|%s" % risk_line)
|
||||
if lines.is_empty():
|
||||
return "아직 봉인된 군령이 없습니다."
|
||||
return _join_strings(lines, "\n")
|
||||
@@ -4491,9 +4497,9 @@ func _format_hanja_number(value: int) -> String:
|
||||
func _on_objective_updated(victory: String, defeat: String) -> void:
|
||||
var notice_lines := ["新詔 軍令 봉인"]
|
||||
if not victory.is_empty():
|
||||
notice_lines.append("勝令|%s" % victory)
|
||||
notice_lines.append("勝令|朱批 %s" % victory)
|
||||
if not defeat.is_empty():
|
||||
notice_lines.append("敗兆|%s" % defeat)
|
||||
notice_lines.append("敗兆|墨戒 %s" % defeat)
|
||||
if objective_notice_label != null:
|
||||
objective_notice_label.text = "\n".join(notice_lines)
|
||||
if objective_notice_panel != null:
|
||||
@@ -5252,27 +5258,27 @@ func _format_briefing_objectives() -> String:
|
||||
var text := ""
|
||||
var victory := str(state.objectives.get("victory", ""))
|
||||
if not victory.is_empty():
|
||||
text = "受命 勝令\n %s" % victory
|
||||
text = "受命 勝令\n 朱批|%s" % victory
|
||||
var defeat := str(state.objectives.get("defeat", ""))
|
||||
if not defeat.is_empty():
|
||||
if not text.is_empty():
|
||||
text += "\n"
|
||||
text += "戒懼 敗兆\n %s" % defeat
|
||||
text += "戒懼 敗兆\n 墨戒|%s" % defeat
|
||||
var progress_lines := state.get_objective_progress_lines(false, false)
|
||||
if not progress_lines.is_empty():
|
||||
if not text.is_empty():
|
||||
text += "\n"
|
||||
text += "驗功 戰功 죽간\n %s" % _join_strings(progress_lines, " · ")
|
||||
text += "驗功 戰功 죽간\n 功簿|%s" % _join_strings(progress_lines, " · ")
|
||||
var risk_lines := state.get_defeat_progress_lines()
|
||||
if not risk_lines.is_empty():
|
||||
if not text.is_empty():
|
||||
text += "\n"
|
||||
text += "不祥 凶兆 징후\n %s" % _join_strings(risk_lines, " · ")
|
||||
text += "不祥 凶兆 징후\n 凶簡|%s" % _join_strings(risk_lines, " · ")
|
||||
var rewards_text := _format_briefing_rewards()
|
||||
if not rewards_text.is_empty():
|
||||
if not text.is_empty():
|
||||
text += "\n"
|
||||
text += "封賞 戰利 봉인\n %s" % rewards_text
|
||||
text += "封賞 戰利 봉인\n 封賞|%s" % rewards_text
|
||||
return text
|
||||
|
||||
|
||||
@@ -7933,7 +7939,7 @@ func _set_action_button_state(button: Button, label: String, disabled: bool, too
|
||||
|
||||
|
||||
func _set_action_button_blocked(button: Button, base_label: String, reason_label: String, tooltip: String) -> void:
|
||||
_set_action_button_state(button, "%s - %s" % [base_label, reason_label], true, tooltip)
|
||||
_set_action_button_state(button, "%s|%s" % [base_label, reason_label], true, tooltip)
|
||||
|
||||
|
||||
func _action_phase_block_reason() -> Dictionary:
|
||||
@@ -7969,16 +7975,16 @@ func _update_wait_button(selected: Dictionary) -> void:
|
||||
if wait_button == null:
|
||||
return
|
||||
if selected.is_empty():
|
||||
_set_action_button_blocked(wait_button, "대기", "부대 미지정", "명령할 부대를 먼저 고릅니다.")
|
||||
_set_action_button_blocked(wait_button, "대기령", "부대 미지정", "명령할 부대를 먼저 고릅니다.")
|
||||
return
|
||||
if bool(selected.get("acted", false)):
|
||||
_set_action_button_blocked(wait_button, "대기", "봉인됨", "이 부대는 이미 행동했습니다.")
|
||||
_set_action_button_blocked(wait_button, "대기령", "봉인됨", "이 부대는 이미 행동했습니다.")
|
||||
return
|
||||
var phase_block := _action_phase_block_reason()
|
||||
if not phase_block.is_empty():
|
||||
_set_action_button_blocked(wait_button, "대기", str(phase_block.get("label", "처리 중")), str(phase_block.get("tooltip", "")))
|
||||
_set_action_button_blocked(wait_button, "대기령", str(phase_block.get("label", "처리 중")), str(phase_block.get("tooltip", "")))
|
||||
return
|
||||
_set_action_button_state(wait_button, "대기", false, "이 부대의 군령을 봉인합니다.")
|
||||
_set_action_button_state(wait_button, "대기령", false, "이 부대의 군령을 봉인합니다.")
|
||||
|
||||
|
||||
func _update_end_turn_button() -> void:
|
||||
@@ -7986,9 +7992,9 @@ func _update_end_turn_button() -> void:
|
||||
return
|
||||
var phase_block := _action_phase_block_reason()
|
||||
if not phase_block.is_empty():
|
||||
_set_action_button_blocked(end_turn_button, "군령 종료", str(phase_block.get("label", "처리 중")), str(phase_block.get("tooltip", "")))
|
||||
_set_action_button_blocked(end_turn_button, "군령 봉함", str(phase_block.get("label", "처리 중")), str(phase_block.get("tooltip", "")))
|
||||
return
|
||||
_set_action_button_state(end_turn_button, "군령 종료", false, "아군 군령을 거두고 적군의 차례로 넘깁니다.")
|
||||
_set_action_button_state(end_turn_button, "군령 봉함", false, "아군 군령을 거두고 적군의 차례로 넘깁니다.")
|
||||
|
||||
|
||||
func _update_threat_button() -> void:
|
||||
@@ -7996,46 +8002,46 @@ func _update_threat_button() -> void:
|
||||
return
|
||||
threat_button.button_pressed = show_threat_overlay
|
||||
if campaign_complete_screen:
|
||||
_set_action_button_blocked(threat_button, "적진", "전기 봉인", "전기가 완결되었습니다.")
|
||||
_set_action_button_blocked(threat_button, "적진도", "전기 봉인", "전기가 완결되었습니다.")
|
||||
return
|
||||
if not battle_started:
|
||||
_set_action_button_blocked(threat_button, "적진", "전장도 미개봉", "전장도를 펼친 뒤 적진을 살필 수 있습니다.")
|
||||
_set_action_button_blocked(threat_button, "적진도", "전장도 미개봉", "전장도를 펼친 뒤 적진을 살필 수 있습니다.")
|
||||
return
|
||||
if state.battle_status != BattleState.STATUS_ACTIVE:
|
||||
_set_action_button_blocked(threat_button, "적진", "전장 종결", "전투 중에만 적진을 살필 수 있습니다.")
|
||||
_set_action_button_blocked(threat_button, "적진도", "전장 종결", "전투 중에만 적진을 살필 수 있습니다.")
|
||||
return
|
||||
_set_action_button_state(threat_button, "적진", false, "적의 무기와 책략 사거리를 살핍니다.")
|
||||
_set_action_button_state(threat_button, "적진도", false, "적의 무기와 책략 사거리를 살핍니다.")
|
||||
|
||||
|
||||
func _update_tactic_button(selected: Dictionary) -> void:
|
||||
if tactic_button == null:
|
||||
return
|
||||
if selected.is_empty():
|
||||
_set_action_button_blocked(tactic_button, "책략", "부대 미지정", "책략을 쓸 부대를 먼저 고릅니다.")
|
||||
_set_action_button_blocked(tactic_button, "책략첩", "부대 미지정", "책략을 쓸 부대를 먼저 고릅니다.")
|
||||
return
|
||||
|
||||
var skill_ids := state.get_skill_ids(selected["id"])
|
||||
if skill_ids.is_empty():
|
||||
_set_action_button_blocked(tactic_button, "책략", "없음", "이 부대는 사용할 책략이 없습니다.")
|
||||
_set_action_button_blocked(tactic_button, "책략첩", "없음", "이 부대는 사용할 책략이 없습니다.")
|
||||
return
|
||||
if state.is_unit_skill_sealed(selected["id"]):
|
||||
_set_action_button_blocked(tactic_button, "책략", "봉인됨", "이 부대는 책략을 쓸 수 없습니다.")
|
||||
_set_action_button_blocked(tactic_button, "책략첩", "봉인됨", "이 부대는 책략을 쓸 수 없습니다.")
|
||||
return
|
||||
if bool(selected.get("acted", false)):
|
||||
_set_action_button_blocked(tactic_button, "책략", "봉인됨", "이 부대는 이미 행동했습니다.")
|
||||
_set_action_button_blocked(tactic_button, "책략첩", "봉인됨", "이 부대는 이미 행동했습니다.")
|
||||
return
|
||||
var phase_block := _action_phase_block_reason()
|
||||
if not phase_block.is_empty():
|
||||
_set_action_button_blocked(tactic_button, "책략", str(phase_block.get("label", "처리 중")), str(phase_block.get("tooltip", "")))
|
||||
_set_action_button_blocked(tactic_button, "책략첩", str(phase_block.get("label", "처리 중")), str(phase_block.get("tooltip", "")))
|
||||
return
|
||||
|
||||
if not selected_skill_id.is_empty():
|
||||
var skill := state.get_skill_def(selected_skill_id)
|
||||
_set_action_button_state(tactic_button, "책략: %s" % str(skill.get("name", selected_skill_id)), false, "전장에 책략 대상을 지목합니다.")
|
||||
_set_action_button_state(tactic_button, "책략첩|%s" % str(skill.get("name", selected_skill_id)), false, "전장에 책략 대상을 지목합니다.")
|
||||
elif tactic_menu != null and tactic_menu.visible:
|
||||
_set_action_button_state(tactic_button, "책략 닫기", false, "책략 목록을 닫습니다.")
|
||||
_set_action_button_state(tactic_button, "책략첩 봉함", false, "책략 목록을 닫습니다.")
|
||||
else:
|
||||
_set_action_button_state(tactic_button, "책략", false, "책략 목록을 펼칩니다. %d개." % skill_ids.size())
|
||||
_set_action_button_state(tactic_button, "책략첩", false, "책략 목록을 펼칩니다. %d개." % skill_ids.size())
|
||||
|
||||
|
||||
func _show_tactic_menu(selected: Dictionary) -> void:
|
||||
@@ -8247,28 +8253,28 @@ func _update_item_button(selected: Dictionary) -> void:
|
||||
if item_button == null:
|
||||
return
|
||||
if selected.is_empty():
|
||||
_set_action_button_blocked(item_button, "도구", "부대 미지정", "도구를 쓸 부대를 먼저 고릅니다.")
|
||||
_set_action_button_blocked(item_button, "보급첩", "부대 미지정", "도구를 쓸 부대를 먼저 고릅니다.")
|
||||
return
|
||||
|
||||
if bool(selected.get("acted", false)):
|
||||
_set_action_button_blocked(item_button, "도구", "봉인됨", "이 부대는 이미 행동했습니다.")
|
||||
_set_action_button_blocked(item_button, "보급첩", "봉인됨", "이 부대는 이미 행동했습니다.")
|
||||
return
|
||||
var phase_block := _action_phase_block_reason()
|
||||
if not phase_block.is_empty():
|
||||
_set_action_button_blocked(item_button, "도구", str(phase_block.get("label", "처리 중")), str(phase_block.get("tooltip", "")))
|
||||
_set_action_button_blocked(item_button, "보급첩", str(phase_block.get("label", "처리 중")), str(phase_block.get("tooltip", "")))
|
||||
return
|
||||
var item_ids := state.get_usable_item_ids()
|
||||
if item_ids.is_empty():
|
||||
_set_action_button_blocked(item_button, "도구", "비어 있음", "사용할 도구가 없습니다.")
|
||||
_set_action_button_blocked(item_button, "보급첩", "비어 있음", "사용할 도구가 없습니다.")
|
||||
return
|
||||
|
||||
if not selected_item_id.is_empty():
|
||||
var item := state.get_item_def(selected_item_id)
|
||||
_set_action_button_state(item_button, "도구: %s" % str(item.get("name", selected_item_id)), false, "전장에서 도구 대상을 지목합니다.")
|
||||
_set_action_button_state(item_button, "보급첩|%s" % str(item.get("name", selected_item_id)), false, "전장에서 도구 대상을 지목합니다.")
|
||||
elif item_menu != null and item_menu.visible:
|
||||
_set_action_button_state(item_button, "도구 닫기", false, "도구 목록을 닫습니다.")
|
||||
_set_action_button_state(item_button, "보급첩 봉함", false, "도구 목록을 닫습니다.")
|
||||
else:
|
||||
_set_action_button_state(item_button, "도구", false, "도구 목록을 펼칩니다. %d종." % item_ids.size())
|
||||
_set_action_button_state(item_button, "보급첩", false, "도구 목록을 펼칩니다. %d종." % item_ids.size())
|
||||
|
||||
|
||||
func _show_item_menu(selected: Dictionary) -> void:
|
||||
|
||||
Reference in New Issue
Block a user