-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Because AsyncLoader.load_scene_async_with_cb is async, there is a chance that the target, instance, and cb have been deleted before use. So we would have to do a bunch of checks for each callback. Rather than do that, have a callback that is called on any of these situations.
func _on_orange_loaded_cb(instance : Node, data : Dictionary) -> void:
# Just return if target is invalid
if not is_instance_valid(target):
return
# Just return if instance is invalid
if not is_instance_valid(instance):
return
# Just return if the cb is invalid
if cb != null and not cb.is_valid():
returnfunc _on_error(instance : Node, data : Dictionary) -> void:
# Just return if target is invalid
if not is_instance_valid(target):
return
# Just return if instance is invalid
if not is_instance_valid(instance):
return
# Just return if the cb is invalid
if cb != null and not cb.is_valid():
return
AsyncLoader.start(groups, 100, funcref(self,"_on_error" ))Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request