Files
pirate-dice/tests/basis.gd
2026-09-16 15:04:02 +02:00

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)