From b317c1b17a3ab5b3ebeab7f94c261949a7bff6e4 Mon Sep 17 00:00:00 2001 From: Patrick Wuttke Date: Wed, 18 Aug 2021 22:11:13 +0200 Subject: [PATCH] Added reference wrapper type to wrap non-reference-counted objects in a reference. --- scripts/types/reference_wrapper.gd | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 scripts/types/reference_wrapper.gd 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()