25 lines
694 B
GDScript3
25 lines
694 B
GDScript3
|
|
extends "res://ui/menus/ModalMenu.gd"
|
||
|
|
|
||
|
|
@onready var panel: Control = $Panel
|
||
|
|
@onready var status: Label = $StatusLabel
|
||
|
|
|
||
|
|
|
||
|
|
func _ready() -> void:
|
||
|
|
super._ready()
|
||
|
|
panel.changed.connect(refresh)
|
||
|
|
|
||
|
|
|
||
|
|
func open_menu() -> void:
|
||
|
|
super.open_menu()
|
||
|
|
refresh()
|
||
|
|
|
||
|
|
|
||
|
|
func refresh() -> void:
|
||
|
|
panel.refresh()
|
||
|
|
var short: PackedStringArray = PackedStringArray()
|
||
|
|
for vessel_type in GameState.planned_vessel_types():
|
||
|
|
var missing: int = GameState.vessel_shortfall(String(vessel_type))
|
||
|
|
if missing > 0:
|
||
|
|
short.append("%d %s" % [missing, GameState.vessel_name(String(vessel_type))])
|
||
|
|
status.text = "Every standing order is met or already being built" if short.is_empty() \
|
||
|
|
else "Short: %s" % ", ".join(short)
|