diff --git a/scripts/types/reference_wrapper.gd b/scripts/types/reference_wrapper.gd new file mode 100644 index 0000000..aa7e1a1 --- /dev/null +++ b/scripts/types/reference_wrapper.gd @@ -0,0 +1,15 @@ +# wrapps not reference-counted object in a reference +# useful for example if you want to store a type that extends Node outside of the tree + +extends Reference + +class_name GDB_ReferenceWrapper + +var object : Object = null + +############# +# overrides # +############# +func _notification(what : int) -> void: + if what == NOTIFICATION_PREDELETE && object != null: + object.free()