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