53 lines
2.2 KiB
GDScript
53 lines
2.2 KiB
GDScript
extends Node
|
|
func _ready() -> void:
|
|
GameState.system_seed = 8428159
|
|
var game := preload("res://scenes/game/game.tscn").instantiate()
|
|
add_child(game)
|
|
await get_tree().process_frame
|
|
var manager := game.get_node("PlanetExpeditions")
|
|
for enemy in get_tree().get_nodes_in_group("enemies"):
|
|
enemy.position = Vector2(9000,9000)
|
|
game.player.position = game.protected_planet.position
|
|
manager.land_nearby()
|
|
var surface: Control = manager.screen
|
|
var audio: AudioStreamPlayer = surface.get_node("EngineAudio")
|
|
var engine: Node2D = surface.lander.get_node("EngineVisual")
|
|
assert(audio.get_script() == preload("res://scripts/game/ship_engine_audio.gd"))
|
|
assert(audio.stream is AudioStreamMP3 and audio.stream.loop and audio.playing)
|
|
assert(engine.nozzle_positions.size() == 2 and engine.nozzle_positions[0].x < 0 and engine.nozzle_positions[1].x > 0)
|
|
Input.action_press("ship_thrust")
|
|
audio._process(1.0)
|
|
engine._process(0.25)
|
|
assert(surface.engine_thrust_active() and engine._strength == 1 and audio.volume_db == -11)
|
|
await get_tree().process_frame
|
|
await RenderingServer.frame_post_draw
|
|
get_viewport().get_texture().get_image().save_png("res://artifacts/lander_engines_normal.png")
|
|
Input.action_press("ship_mini_boost")
|
|
surface._physics_process(1.0/60)
|
|
engine._process(0.1)
|
|
assert(engine._boost)
|
|
await get_tree().process_frame
|
|
await RenderingServer.frame_post_draw
|
|
get_viewport().get_texture().get_image().save_png("res://artifacts/lander_engines_boost.png")
|
|
surface._dialog.show()
|
|
assert(not surface.engine_thrust_active())
|
|
audio._process(1)
|
|
engine._process(0.3)
|
|
assert(audio.volume_db == -60 and engine._strength == 0)
|
|
surface._dialog.hide()
|
|
Input.action_release("ship_thrust")
|
|
Input.action_release("ship_mini_boost")
|
|
surface._physics_process(1.0/60)
|
|
assert(not surface.engine_thrust_active())
|
|
surface._ending = true
|
|
assert(not surface.engine_thrust_active())
|
|
var instance := audio.get_instance_id()
|
|
manager.finish_surface(true)
|
|
await get_tree().process_frame
|
|
await get_tree().process_frame
|
|
assert(not is_instance_id_valid(instance))
|
|
game.queue_free()
|
|
await get_tree().process_frame
|
|
print("LANDER ENGINE PASS: ship MP3, twin nozzle positions, thrust, boost, POI silence, coast silence, shutdown cleanup")
|
|
get_tree().quit()
|