spaceship/tests/_lab_menu_preview.gd

37 lines
1.4 KiB
GDScript3
Raw Normal View History

extends Node2D
# Preview, not a test. The ship lab's upgrade screen (#5), so its layout can
# be checked on a real viewport - headless draws no pixels.
#
# bash tests/screenshot.sh res://tests/_lab_menu_preview.tscn /tmp/lab.png 20 720x1280
func _ready() -> void:
GameState.buildings.clear()
GameState.extractors.clear()
GameState.transporters.clear()
GameState.reset_progression()
GameState.rocks = 240
2026-08-13 22:33:12 +02:00
GameState.gas = 36
GameState.unlocked = ["shipyards", "vessel_science"]
var main: Node = load("res://Main.tscn").instantiate()
add_child(main)
2026-08-15 04:45:15 +02:00
main.get_node("BackgroundLayer").visible = false
main.get_node("Fleet").visible = false
main.get_node("AsteroidField").visible = false
main.get_node("PlanetField").visible = false
main.get_node("BuildingField").visible = false
main.get_node("EnemySpawner").set_process(false)
main.get_node("BuildingField").place(GameState.BUILDING_SHIP_LAB, Vector2(400.0, 0.0))
var lab_id: int = int(GameState.buildings[-1].id)
GameState.deposit_to_building(lab_id, 18)
GameState.fleet_cargo = 12
2026-08-13 22:33:12 +02:00
GameState.fleet_gas_cargo = 8
var bc: Node = main.get_node("BuildController")
# The shared header (#24) hides its HERE column when it has no building,
# so bind it the way opening the panel from the building does.
for bar in bc.resource_bars:
bar.building_id = lab_id
main.get_node("UI/LabMenu").visible = true
2026-08-15 04:45:15 +02:00
bc.lab_vessel = GameState.VESSEL_GAS_BOMBER
bc._refresh_lab()