mirror of
https://github.com/godotengine/godot.git
synced 2026-01-03 18:11:19 +03:00
Add support for static variables in GDScript
Which allows editable data associated with a particular class instead of the instance. Scripts with static variables are kept in memory indefinitely unless the `@static_unload` annotation is used or the `static_unload()` method is called on the GDScript. If the custom function `_static_init()` exists it will be called when the class is loaded, after the static variables are set.
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
static func _static_init() -> int:
|
||||
print("static init")
|
||||
|
||||
func test():
|
||||
print("done")
|
||||
@@ -0,0 +1,2 @@
|
||||
GDTEST_ANALYZER_ERROR
|
||||
Static constructor cannot have an explicit return type.
|
||||
@@ -0,0 +1,9 @@
|
||||
@static_unload
|
||||
|
||||
func non_static():
|
||||
return "non static"
|
||||
|
||||
static var static_var = non_static()
|
||||
|
||||
func test():
|
||||
print("does not run")
|
||||
@@ -0,0 +1,2 @@
|
||||
GDTEST_ANALYZER_ERROR
|
||||
Cannot call non-static function "non_static()" for static variable initializer.
|
||||
Reference in New Issue
Block a user