spaceship/ui/menus/PlanningMenu.gd

25 lines
694 B
GDScript3
Raw Normal View History

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)