30 lines
1.8 KiB
GDScript
30 lines
1.8 KiB
GDScript
extends RefCounted
|
|
const MENU := preload("res://scripts/planets/freighter_menu.gd")
|
|
|
|
static func build(screen: Control) -> void:
|
|
var navigation := MENU.card(screen._content)
|
|
MENU.label(navigation, "NAWIGACJA / ODKRYTE UKŁADY", 14, MENU.GOLD)
|
|
MENU.label(navigation, "Obecny: System %d · Najdalszy odkryty: %d" % [GameState.system_level, GameState.highest_system], 12)
|
|
var row := MENU.row(navigation)
|
|
var destination := OptionButton.new()
|
|
destination.name = "SystemDestination"
|
|
destination.size_flags_horizontal = Control.SIZE_EXPAND_FILL
|
|
destination.add_theme_font_size_override("font_size", 11)
|
|
destination.add_theme_font_override("font", ThemeDB.fallback_font)
|
|
for level in range(1, GameState.highest_system + 1):
|
|
destination.add_item("System %d%s" % [level, " · HARD" if preload("res://scripts/levels/level_balance.gd").is_hard(level) else ""], level)
|
|
if GameState.active_distant_map.is_empty(): destination.select(GameState.system_level - 1)
|
|
destination.disabled = not GameState.active_distant_map.is_empty()
|
|
row.add_child(destination)
|
|
var travel := MENU.button(row, "LEĆ DO UKŁADU", func(): screen._travel_to_system(destination.get_selected_id()), true)
|
|
travel.name = "TravelToSystem"
|
|
travel.disabled = true
|
|
destination.item_selected.connect(func(_index): travel.disabled = not GameState.active_distant_map.is_empty() or destination.get_selected_id() == GameState.system_level)
|
|
MENU.label(navigation, "Nowe układy odblokujesz, przechodząc dalej przez tunel po pokonaniu przeciwników.", 11, MENU.MUTED)
|
|
preload("res://scripts/planets/distant_expeditions_panel.gd").build(screen)
|
|
screen._refresh_live_labels()
|
|
|
|
static func cabin(screen: Control) -> void:
|
|
MENU.label(screen._content, "SEKCJA REZERWOWA", 14, MENU.GOLD)
|
|
MENU.label(screen._content, "Pomieszczenie czeka na nowe przeznaczenie.", 12)
|