xref: /Universal-ctags/Units/parser-gdscript.r/sample.d/input.gd (revision ebbfee1ee7fddc343febece367097f352cea01ed)
1# Derived from https://docs.godotengine.org/en/latest/tutorials/scripting/gdscript/gdscript_basics.html
2
3# A file is a class!
4
5# Inheritance
6
7extends BaseClass
8
9# (optional) class definition with a custom icon
10
11class_name MyClass, "res://path/to/optional/icon.svg"
12
13
14# Member variables
15
16@export_range(start=0, end=100, step=1) var a = 5
17@export
18var s = "Hello"
19@onready var arr = [1, 2, 3]
20var dict = {"key": "value", 2: 3}
21var typed_var: int
22@onready
23@export_multiline
24var\
25inferred_type\
26:=\
27"String"
28
29# Constants
30
31const ANSWER = 42
32const THE_NAME:String = "Charly"
33
34# Enums
35
36enum {UNIT_NEUTRAL, UNIT_ENEMY, UNIT_ALL}
37enum Named {THING_1, THING_2, ANOTHER_THING=1}
38
39# Built-in vector types
40
41var v2 = Vector2(1, 2)
42var v3 = Vector3(1, 2, 3)
43
44
45# Function
46
47@master
48func some_function(param1: Vector3, param2: int) -> int:
49    var local_var = 5
50
51    if param1 < local_var:
52        print(param1)
53    elif param2 > 5:
54        print(param2)
55    elif param2 == 2:
56        print(20)
57    elif param2 <= 2:
58        print((-20 %
59
60
61
623) / 5)
63    else:
64        print("Fail!")
65
66    for i in range(20):
67        print(i)
68
69    while param2 != 0:
70        param2 -= 1
71
72    var local_var2 = param1 + 3
73    return local_var2
74
75
76# Functions override functions with the same name on the base/parent class.
77# If you still want to call them, use '.' (like 'super' in other languages).
78@puppet
79func something(p1, p2):
80    .something(p1, p2)
81
82
83# Inner class
84
85class Something:
86    var a = 10
87    const _private_var:String = "hi\n\\escape"
88	func foooooooo() -> String:
89		print("""
90		test\\
91
92		test""")
93        return ""
94
95# Constructor
96
97func _init():
98    print("Constructed!")
99    var lv = Something.new()
100    print(lv.a)
101