diff --git a/scripts/Tools/TickTool.gd b/scripts/Tools/TickTool.gd index e7a4a59..063971e 100644 --- a/scripts/Tools/TickTool.gd +++ b/scripts/Tools/TickTool.gd @@ -6,8 +6,11 @@ static func frame(count: int = 1): for i in range(count): await WorldManager.tree.physics_frame static func until(predicate: Callable): - while not predicate.call(): - await frame.unbind(1).call(0) + var obj = predicate.get_object() + while is_instance_valid(obj): + await frame() + if predicate.call(): + break static func modifyAnimationKey(animator: AnimationPlayer, name: String, track: NodePath, trackType: Animation.TrackType, time: float, value: Variant): var animation = animator.get_animation(name) var trackIdx = animation.find_track(track, trackType)