123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316 |
- extends Node
- class_name TestClass
- # ******************************************************************************
- var var_a = 0
- var var_b = true
- var var_c := true
- var var_d : bool = true
- var var_e : bool = true
- var var_f:bool=true
- var var_g : string = 'foo'
- var var_h : string = "foo"
- var integer = 12_345_678 # Equal to 12345678.
- var floating = 3.141_592_7 # Equal to 3.1415927.
- var hex_a = 0x10101
- var hex_b = 0x8080_0000_ffff # Equal to 0x80800000ffff.
- var binary_a = 0b10101
- var binary_b = 0b11_00_11_00 # Equal to 0b11001100.
- var sci_float_a = 58.1e-10
- var sci_float_b = 58.1e-10
- const const_a = 0
- const const_b = true
- const const_c := true
- const const_d : bool = true
- const const_e : bool = true
- const const_f:bool=true
- const const_g : string = 'foo'
- const const_h : string = "foo"
- var pls_no_a = "don't do this"; var pls_no_b = "I don't care if it's valid";
- var pls_no_c = 0; var pls_no_d = false; var pls_no_e = seriously_why();
- var pls_no_f: bool; var pls_no_g: int; var pls_no_h: string;
- var a
- remote var b = 10.0
- remotesync var c := 20
- master var d :int = 30
- puppet var e :int
- signal sig_a
- signal sig_b()
- signal sig_c(param1, param2)
- # signal sig_d(param1: int, param2: Dictionary)
- # signal sig_e(
- # param1: int, # first param
- # param2: Dictionary,
- # )
- var variant_a = 0
- const variant_b = 0
- # ------------------------------------------------------------------------------
- var f = 40 setget set_f
- func set_f(value):
- pass
- var g:int setget set_g, get_g
- func set_g(value: int=0) -> void:
- pass
- var h:float = 1.0 setget set_h, get_h
- func set_h(value: int=0) -> void:
- pass
- func get_g() -> int:
- return 0
- # ------------------------------------------------------------------------------
- func func_a(param1, param2, param3):
- self.test()
- $Node.get_node('Foo')
- $Node.has_node('Foo')
- $Node.find_node('Foo')
- $Node.get_node_or_null('Foo')
- print($Node.has_node('Foo'))
- print(NodePath('Foo'))
- print(NodePath("Foo"))
- pass
- func func_b(param1, param2=func_a(10, 1.0, 'test')) -> void:
- pass
- func func_b1(param1 = false, param2: bool = false, param3 := false):
- pass
- func func_b2(param1 = 10, param2: int = 100, param3 := 1000):
- pass
- func func_b3(param1 = 1.0, param2: float = 10.0, param3 := 100.001):
- pass
- func func_b4(param1 = 'foo', param2: String = 'bar', param3 := 'foobar'):
- pass
- func func_b5(
- param1 = 'foo', # comment
- param2: String = 'bar',
- param3: float = 3.14159,
- param4:='foobar',
- param5:=1000,
- param6:=[],
- param7:={},
- param8:=func_a(),
- param9:=Vector2(0, 1),
- param10:=Vector2(0, 0),
- param11:=Color(1, 1, 1, 0.5),
- param12:=NodePath('Foo')
- ) -> void:
- pass
- var dict = {
- a = 0,
- b = 0.0,
- c = 'test',
- }
- func func_c(
- param1: int = 10,
- param2 := 1.0,
- param3: String = 'string',
- param4 := {a=0, b=0.0, c='test'}
- ):
- pass
- # one line functions, please don't actually do this
- func one_line_int_fn() -> int: return 3
- func one_line_dict_fn() -> int: return {a=0, b=0.0, c='test'}
- func one_line_print() -> void: print("Uh oh")
- func one_line_fn() -> void: return
- # ------------------------------------------------------------------------------
- var stringname_nodepath_a = @"test"
- var stringname_nodepath_b = @'test'
- var q = "double quotes"
- var r = 'single quotes'
- var s = """
- triple double quotes
- """
- var t = '''triple single quotes'''
- # ------------------------------------------------------------------------------
- var IS_CONSTANT
- var not_CONSTANT
- var ALSO_NOT_constant
- var CONSTANT_not
- # ------------------------------------------------------------------------------
- var node_a = $Child
- var node_b = $Child/GrandChild
- var node_bb = $Child/GrandChild/GreatGrandChild
- var node_bbb = $Child/GrandChild/GreatGrandChild/GreatGreatGrandChild
- var node_c = $"../Sibling"
- var node_cc = $'../Sibling'
- var node_d = $'..' # parent
- var node_e = $"../.." # grandparent
- var node_f = get_node('Child')
- var node_g = get_node("Child/GrandChild")
- var node_h = get_node("../Sibling")
- if has_node('Child') and get_node('Child').has_node('GrandChild'):
- pass
- var unique_node_a = $%Unique
- var unique_node_b = $Child/%Unique
- var unique_node_c = $Child/GrandChild/%Unique
- var unique_node_d = $Child/%Unique/ChildOfUnique
- var unique_node_e = %Unique
- var unique_node_f = %Unique/Child
- var unique_node_g = %Unique/%UniqueChild
- var a = $/root
- var a = $/ root
- var a = $/root/Child
- var a = $/ root/ Child
- var a = $/root/Child/%Unique
- var a = $ / root / Child/%Unique
- var a = $/root/Child/GrandChild
- var node_i = $"%Unique"
- var node_ii = get_node("%Unique")
- var node_iii = NodePath("%Unique")
- var node_j = $'%Unique/Child'
- var node_jj = get_node('%Unique/Child')
- var node_jjj = NodePath('%Unique/Child')
- var node_k = $"%Unique/%UniqueChild"
- var node_kk = get_node("%Unique/%UniqueChild")
- var node_kkk = NodePath("%Unique/%UniqueChild")
- if has_node('%Unique') and get_node('%Child').has_node('%GrandChild'):
- pass
- var node_i = $badlyNamedChild
- var node_j = $badlyNamedChild/badly_named_grandchild
- var node_path_a = NodePath("Child")
- var node_path_b = NodePath('Child/GrandChild')
- var node_path_c = NodePath('../Sibling')
- var node_method_result_a = get_node("Child").some_method()
- var node_method_result_b = get_node("Child/GrandChild").some_method()
- var node_method_result_c = get_node("%Child").some_method()
- var node_method_result_d = $Child.some_method()
- var node_method_result_e = $'Child'.some_method()
- var node_method_result_f = $'%Child'.some_method()
- var node_method_result_g = $Child/GrandChild.some_method()
- var node_method_result_h = $"Child/GrandChild".some_method()
- var node_method_result_i = $"%Child/GrandChild".some_method()
- var node_method_result_j = $Child.get_node('GrandChild').some_method()
- var node_method_result_k = $"Child".get_node('GrandChild').some_method()
- var node_method_result_l = $"%Child".get_node('GrandChild').some_method()
- # ------------------------------------------------------------------------------
- var _script = GDScript.new()
- var directions = [
- Vector2.UP,
- Vector2.DOWN,
- Vector2.LEFT,
- Vector2.RIGHT,
- ]
- enum test_enum {
- VALUE_1,
- VALUE_2,
- VALUE_3,
- }
- export(test_enum) var enum_variable = test_enum.VALUE_1
- # ------------------------------------------------------------------------------
- func if_test():
- var some_bool := true
- while some_bool:
- pass
- while (some_bool):
- pass
- if some_bool:
- return some_bool
- if (some_bool):
- return (some_bool)
- elif !some_bool:
- return !some_bool
- elif !(some_bool):
- return !(some_bool)
- elif (some_bool):
- pass
- else:
- pass
- if some_bool: return
- # ------------------------------------------------------------------------------
- class InnerClass:
- var some_var = 100
- var dict = {
- 'key_a': some_var,
- 'key_b': str(10),
- key_c = some_var,
- key_d = int('10'),
- key_e = Color(1, 1, 1),
- key_f = Vector2(10, -10)
- }
- dict = {}
- var dict_b = {
- 1: true,
- 4: true,
- 6: true
- }
- func _ready():
- var list = []
- for i in range(10): # "in" should be purple (control flow)
- list.append(i)
- for child in get_children():
- print(child)
-
- for child in get_children():
- print(child)
- if true and true:
- pass
- elif 'foo' in list: # "in" should be blue (boolean operator)
- pass
- elif false:
- while true:
- pass
- else:
- pass
-
- pass
- # ------------------------------------------------------------------------------
- func test_function():
- OS.get_name()
|