| 
									
										
										
										
											2021-04-19 20:50:52 +02:00
										 |  |  | # 4.0+ replacement for `setget`: | 
					
						
							|  |  |  | var _backing: int = 0 | 
					
						
							|  |  |  | var property: | 
					
						
							|  |  |  | 	get: | 
					
						
							|  |  |  | 		return _backing + 1000 | 
					
						
							|  |  |  | 	set(value): | 
					
						
							|  |  |  | 		_backing = value - 1000 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-10-10 21:19:15 +03:00
										 |  |  | var property_2: | 
					
						
							|  |  |  | 	get(): # Allow parentheses. | 
					
						
							|  |  |  | 		return 123 | 
					
						
							| 
									
										
										
										
											2021-04-19 20:50:52 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 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) | 
					
						
							| 
									
										
										
										
											2023-10-10 21:19:15 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	print(property_2) |