Frame inventory HUD text as status chip

This commit is contained in:
2026-06-20 20:46:57 +09:00
parent d321c6d6f1
commit 4d3be5494c
2 changed files with 40 additions and 3 deletions

View File

@@ -493,6 +493,8 @@ var cell_info_label: Label
var forecast_panel: PanelContainer
var forecast_icon: TextureRect
var forecast_label: Label
var inventory_status_panel: PanelContainer
var inventory_status_icon: TextureRect
var inventory_label: Label
var briefing_panel: PanelContainer
var briefing_title_label: Label
@@ -3888,11 +3890,27 @@ func _create_hud() -> void:
_apply_label_style(forecast_label, UI_PARCHMENT_TEXT, 14)
forecast_row.add_child(forecast_label)
inventory_status_panel = PanelContainer.new()
inventory_status_panel.name = "InventoryStatusChip"
inventory_status_panel.custom_minimum_size = Vector2(420, 46)
inventory_status_panel.size_flags_horizontal = Control.SIZE_EXPAND_FILL
_apply_panel_style(inventory_status_panel, "hud_readable")
side_column.add_child(inventory_status_panel)
var inventory_status_row := HBoxContainer.new()
inventory_status_row.add_theme_constant_override("separation", 8)
inventory_status_panel.add_child(inventory_status_row)
inventory_status_icon = _make_side_info_chip_icon("item")
inventory_status_icon.name = "InventoryStatusIcon"
inventory_status_row.add_child(inventory_status_icon)
inventory_label = Label.new()
inventory_label.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART
inventory_label.custom_minimum_size = Vector2(420, 34)
inventory_label.custom_minimum_size = Vector2(354, 28)
inventory_label.size_flags_horizontal = Control.SIZE_EXPAND_FILL
_apply_label_style(inventory_label, UI_PARCHMENT_TEXT, 14)
side_column.add_child(inventory_label)
inventory_status_row.add_child(inventory_label)
var button_row := GridContainer.new()
button_row.name = "HudCommandGrid"
@@ -10168,8 +10186,13 @@ func _update_hud() -> void:
_update_result_panel()
_update_prep_menu_button_selection()
if inventory_label != null:
var inventory_detail := _format_inventory_status_text()
inventory_label.text = _format_inventory_status_summary_text()
inventory_label.tooltip_text = _format_inventory_status_text()
inventory_label.tooltip_text = inventory_detail
if inventory_status_panel != null:
inventory_status_panel.tooltip_text = inventory_detail
if inventory_status_icon != null:
inventory_status_icon.tooltip_text = inventory_detail
var selected := state.get_selected_unit()
if selected.is_empty():