extends "res://tests/basis.gd" ## Bilder vom Spiel und vom Menü für die Sichtprüfung. Braucht ein Display - ## oder xvfb, siehe tests/shots.sh. Schreibt nach tests/out/. var game: Node const OUT := "res://tests/out" func _ready() -> void: DirAccess.make_dir_recursive_absolute(ProjectSettings.globalize_path(OUT)) DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED) DisplayServer.window_set_size(Vector2i(1280, 720)) var main := preload("res://scenes/main.tscn").instantiate() add_child(main) await get_tree().process_frame main.menu._show("regeln") await get_tree().create_timer(0.3).timeout await _bild("menue_regeln") main.menu._show("main") await get_tree().create_timer(0.2).timeout await _bild("menue_start") Net.start_singleplayer("Tester", 3, 1) _lauf() func _bild(name: String) -> void: await RenderingServer.frame_post_draw var ok := get_viewport().get_texture().get_image().save_png("%s/%s.png" % [OUT, name]) _pruef("Bild %s" % name, ok == OK) func _lauf() -> void: await _warte(func(): game = _find(get_tree().root, "Game"); return game != null, 20.0) await _warte(func(): return game.phase == "bid", 40.0) var me: int = game.local_seat game.hand[me] = ["gag", "peek", "count"] game._push_state() await get_tree().create_timer(0.4).timeout await _bild("tisch_zug") await game._do_play(me, "gag", 0) await game._do_play(me, "peek", 0) await get_tree().create_timer(1.2).timeout await _bild("tisch_topf") game.hud.hand_box.get_child(0).mouse_entered.emit() await get_tree().create_timer(0.3).timeout await _bild("tisch_erklaerung") var n5: int = game._count_face(5) game.bid = {"seat": 1, "count": maxi(1, n5), "face": 5} game._phase_reveal({"challenger": me, "bid": game.bid, "exact": false}) await get_tree().create_timer(1.3 + 1.2).timeout await _bild("aufdecken_zaehlen") _fertig()