mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-25 02:43:29 +00:00 
			
		
		
		
	
		
			
	
	
		
			38 lines
		
	
	
	
		
			743 B
		
	
	
	
		
			GDScript3
		
	
	
	
	
	
		
		
			
		
	
	
			38 lines
		
	
	
	
		
			743 B
		
	
	
	
		
			GDScript3
		
	
	
	
	
	
|   | # 4.0+ replacement for `setget`: | ||
|  | var _backing: int = 0 | ||
|  | var property: | ||
|  | 	get: | ||
|  | 		return _backing + 1000 | ||
|  | 	set(value): | ||
|  | 		_backing = value - 1000 | ||
|  | 
 | ||
|  | 
 | ||
|  | func test(): | ||
|  | 	print("Not using self:") | ||
|  | 	print(property) | ||
|  | 	print(_backing) | ||
|  | 	property = 5000 | ||
|  | 	print(property) | ||
|  | 	print(_backing) | ||
|  | 	_backing = -50 | ||
|  | 	print(property) | ||
|  | 	print(_backing) | ||
|  | 	property = 5000 | ||
|  | 	print(property) | ||
|  | 	print(_backing) | ||
|  | 
 | ||
|  | 	# In Godot 4.0 and later, using `self` no longer makes a difference for | ||
|  | 	# getter/setter execution in GDScript. | ||
|  | 	print("Using self:") | ||
|  | 	print(self.property) | ||
|  | 	print(self._backing) | ||
|  | 	self.property = 5000 | ||
|  | 	print(self.property) | ||
|  | 	print(self._backing) | ||
|  | 	self._backing = -50 | ||
|  | 	print(self.property) | ||
|  | 	print(self._backing) | ||
|  | 	self.property = 5000 | ||
|  | 	print(self.property) | ||
|  | 	print(self._backing) |