Defining a Class
godot-luau-script classes are essentially a special table created using
gdclass.
Both the original table and the output of gdclass are expected to be stored
in locals, typically at the start of the file.
Annotations used for class registration, such as @class, should be placed
on the original table local and not the local storing the output of gdclass.
The output of gdclass should be returned at the end of the file.
Valid example:
--- @class
local MyClass = {}
local MyClassC = gdclass(MyClass)
return MyClassC
Invalid example:
--- @class
MyClass = {} -- INVALID: The class parser ignores globals
return gdclass(MyClass) -- INVALID: The class parser will not trace this return