29 lines
1.1 KiB
GDScript
29 lines
1.1 KiB
GDScript
extends Node
|
|
|
|
func _ready() -> void:
|
|
for skip in [true, false]:
|
|
var intro := preload("res://scenes/ui/intro.tscn").instantiate() as Control
|
|
get_tree().root.add_child.call_deferred(intro)
|
|
await get_tree().process_frame
|
|
get_tree().current_scene = intro
|
|
await get_tree().create_timer(0.3).timeout
|
|
var video := intro.get_node("VideoAspect/Video") as VideoStreamPlayer
|
|
assert(video.is_playing())
|
|
assert(video.stream is VideoStreamTheora)
|
|
assert(video.get_video_texture().get_width() == 1920)
|
|
if skip:
|
|
var event := InputEventKey.new()
|
|
event.physical_keycode = KEY_SPACE
|
|
event.pressed = true
|
|
Input.parse_input_event(event)
|
|
else:
|
|
video.finished.emit()
|
|
for frame in 5:
|
|
await get_tree().process_frame
|
|
assert(get_tree().current_scene.scene_file_path == "res://scenes/ui/main_menu.tscn")
|
|
assert(get_tree().current_scene.get_node("ShipSelectionPanel").visible == false)
|
|
get_tree().current_scene.queue_free()
|
|
await get_tree().process_frame
|
|
print("INTRO_TEST: PASS Theora playback and decoded frame, Space skip, finished signal -> menu")
|
|
get_tree().quit()
|