Full example
extends BaseClass
class_name MyClass, "res://path/to/optional/icon.svg"
# Member Variables
var a = 5
var s = "Hello"
var arr = [1, 2, 3]
var dict = {"key": "value", 2:3}
var typed_var: int
var inferred_type := "String"
# Constants
const ANSWER = 42
const THE_NAME = "Charly"
# Enums
enum {UNIT_NEUTRAL, UNIT_ENEMY, UNIT_ALLY}
enum Named {THING_1, THING_2, ANOTHER_THING = -1}
# Built-in Vector Types
var v2 = Vector2(1, 2)
var v3 = Vector3(1, 2, 3)
# Function
func some_function(param1, param2):
	var local_var = 5
	if param1 < local_var:
		print(param1)
	elif param2 > 5:
		print(param2)
	else:
		print("Fail!")
	for i in range(20):
		print(i)
	while param2 != 0:
		param2 -= 1
	var local_var2 = param1 + 3
	return local_var2
# Functions override functions with the same name on the base/parent class.
# If you still want to call them, use '.' (like 'super' in other languages).
func something(p1, p2):
	.something(p1, p2)
# Inner Class
class Something:
	var a = 10
# Constructor
func _init():
	print("Constructed!")
	var lv = Something.new()
	print(lv.a)