| 
									
										
										
										
											2023-04-19 11:10:35 -03:00
										 |  |  | @static_unload | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static var perm := 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static var prop := "Hello!": | 
					
						
							|  |  |  | 	get: return prop + " suffix" | 
					
						
							|  |  |  | 	set(value): prop = "prefix " + str(value) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static func get_data(): | 
					
						
							|  |  |  | 	return "data" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static var data = get_data() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class Inner: | 
					
						
							|  |  |  | 	static var prop := "inner" | 
					
						
							|  |  |  | 	static func _static_init() -> void: | 
					
						
							|  |  |  | 		prints("Inner._static_init", prop) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	class InnerInner: | 
					
						
							|  |  |  | 		static var prop := "inner inner" | 
					
						
							|  |  |  | 		static func _static_init() -> void: | 
					
						
							|  |  |  | 			prints("InnerInner._static_init", prop) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func test(): | 
					
						
							|  |  |  | 	prints("data:", data) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	prints("perm:", perm) | 
					
						
							|  |  |  | 	prints("prop:", prop) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	perm = 1 | 
					
						
							|  |  |  | 	prop = "World!" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	prints("perm:", perm) | 
					
						
							|  |  |  | 	prints("prop:", prop) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-16 13:03:53 +03:00
										 |  |  | 	prints("other.perm:", StaticVariablesOther.perm) | 
					
						
							|  |  |  | 	prints("other.prop:", StaticVariablesOther.prop) | 
					
						
							| 
									
										
										
										
											2023-04-19 11:10:35 -03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	StaticVariablesOther.perm = 2 | 
					
						
							|  |  |  | 	StaticVariablesOther.prop = "foo" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-16 13:03:53 +03:00
										 |  |  | 	prints("other.perm:", StaticVariablesOther.perm) | 
					
						
							|  |  |  | 	prints("other.prop:", StaticVariablesOther.prop) | 
					
						
							| 
									
										
										
										
											2023-04-19 11:10:35 -03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	@warning_ignore("unsafe_method_access") | 
					
						
							|  |  |  | 	var path = get_script().get_path().get_base_dir() | 
					
						
							| 
									
										
										
										
											2023-09-21 12:42:55 +03:00
										 |  |  | 	@warning_ignore("unsafe_call_argument") | 
					
						
							| 
									
										
										
										
											2023-05-16 13:03:53 +03:00
										 |  |  | 	var other = load(path + "/static_variables_load.gd") | 
					
						
							| 
									
										
										
										
											2023-04-19 11:10:35 -03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-16 13:03:53 +03:00
										 |  |  | 	prints("load.perm:", other.perm) | 
					
						
							|  |  |  | 	prints("load.prop:", other.prop) | 
					
						
							| 
									
										
										
										
											2023-04-19 11:10:35 -03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	other.perm = 3 | 
					
						
							|  |  |  | 	other.prop = "bar" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-16 13:03:53 +03:00
										 |  |  | 	prints("load.perm:", other.perm) | 
					
						
							|  |  |  | 	prints("load.prop:", other.prop) |