mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 05:31:01 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			50 lines
		
	
	
	
		
			764 B
		
	
	
	
		
			GDScript
		
	
	
	
	
	
			
		
		
	
	
			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
 | 
