41 lines
956 B
GDScript
41 lines
956 B
GDScript
extends Node
|
|
## Gemeinsame Helfer für die Testszenen. Jede Testszene erbt hiervon.
|
|
##
|
|
## Kein Engine.time_scale: der staucht auch den Physikschritt. Ab etwa 6x
|
|
## tunneln die Würfel durch den Filz und fallen ewig - die Partie hängt im
|
|
## Würfeln. Schnell wird es über `game.tempo = 0`, das nur die Wartezeiten
|
|
## des Ablaufs streicht.
|
|
|
|
var fehler := 0
|
|
|
|
|
|
func _find(n: Node, wunsch: String) -> Node:
|
|
if n.name == wunsch:
|
|
return n
|
|
for c in n.get_children():
|
|
var r := _find(c, wunsch)
|
|
if r != null:
|
|
return r
|
|
return null
|
|
|
|
|
|
func _warte(cond: Callable, sek: float) -> bool:
|
|
var t := 0.0
|
|
while t < sek:
|
|
if cond.call():
|
|
return true
|
|
await get_tree().create_timer(0.05).timeout
|
|
t += 0.05
|
|
return false
|
|
|
|
|
|
func _pruef(name: String, ok: bool) -> void:
|
|
if not ok:
|
|
fehler += 1
|
|
print("%s %s" % ["OK " if ok else "FEHL", name])
|
|
|
|
|
|
func _fertig() -> void:
|
|
print("TEST: fertig, Fehler = %d" % fehler)
|
|
get_tree().quit(1 if fehler > 0 else 0)
|