godot-module-template/engine/modules/gdscript/tests/scripts/runtime/features/self_destruction.gd
Sara c3f9669b10 Add 'engine/' from commit 'a8e37fc010'
git-subtree-dir: engine
git-subtree-mainline: b74841629e
git-subtree-split: a8e37fc010
2026-03-13 11:22:19 +01:00

50 lines
764 B
GDScript

# https://github.com/godotengine/godot/issues/75658
class MyObj:
var callable: Callable
func run():
callable.call()
var prop:
set(value):
callable.call()
get:
callable.call()
return 0
func _on_some_signal():
callable.call()
func _init(p_callable: Callable):
self.callable = p_callable
signal some_signal
var obj: MyObj
func test():
# Call.
obj = MyObj.new(nullify_obj)
obj.run()
print(obj)
# Get.
obj = MyObj.new(nullify_obj)
var _aux = obj.prop
print(obj)
# Set.
obj = MyObj.new(nullify_obj)
obj.prop = 1
print(obj)
# Signal handling.
obj = MyObj.new(nullify_obj)
@warning_ignore("return_value_discarded")
some_signal.connect(obj._on_some_signal)
some_signal.emit()
print(obj)
func nullify_obj():
obj = null