mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-07-05 01:32:13 +08:00
fix(TickTool): 修复until方法中对象失效时的潜在崩溃问题
修改until方法,在每次循环前检查对象是否有效,避免在对象被释放后继续调用predicate导致崩溃
This commit is contained in:
@@ -6,8 +6,11 @@ static func frame(count: int = 1):
|
|||||||
for i in range(count):
|
for i in range(count):
|
||||||
await WorldManager.tree.physics_frame
|
await WorldManager.tree.physics_frame
|
||||||
static func until(predicate: Callable):
|
static func until(predicate: Callable):
|
||||||
while not predicate.call():
|
var obj = predicate.get_object()
|
||||||
await frame.unbind(1).call(0)
|
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):
|
static func modifyAnimationKey(animator: AnimationPlayer, name: String, track: NodePath, trackType: Animation.TrackType, time: float, value: Variant):
|
||||||
var animation = animator.get_animation(name)
|
var animation = animator.get_animation(name)
|
||||||
var trackIdx = animation.find_track(track, trackType)
|
var trackIdx = animation.find_track(track, trackType)
|
||||||
|
|||||||
Reference in New Issue
Block a user