gdscript1.gd 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. extends Node
  2. class_name TestClass
  3. # ******************************************************************************
  4. var a
  5. remote var b = 10.0
  6. remotesync var c := 20
  7. master var d :int = 30
  8. puppet var e :int
  9. signal sig_a
  10. signal sig_b()
  11. signal sig_c(param1, param2)
  12. # signal sig_d(param1: int, param2: Dictionary)
  13. # signal sig_e(
  14. # param1: int, # first param
  15. # param2: Dictionary,
  16. # )
  17. # ------------------------------------------------------------------------------
  18. var f = 40 setget set_f
  19. func set_f(value):
  20. pass
  21. var g:int setget set_g, get_g
  22. func set_g(value: int=0) -> void:
  23. pass
  24. var h:float = 1.0 setget set_h, get_h
  25. func set_h(value: int=0) -> void:
  26. pass
  27. func get_g() -> int:
  28. return 0
  29. # ------------------------------------------------------------------------------
  30. func func_a(param1, param2, param3):
  31. self.test()
  32. $Node.get_node('Foo')
  33. $Node.has_node('Foo')
  34. $Node.find_node('Foo')
  35. $Node.get_node_or_null('Foo')
  36. print($Node.has_node('Foo'))
  37. print(NodePath('Foo'))
  38. print(NodePath("Foo"))
  39. pass
  40. func func_b(param1, param2=func_a(10, 1.0, 'test')) -> void:
  41. pass
  42. func func_b1(param1 = false, param2: bool = false, param3 := false):
  43. pass
  44. func func_b2(param1 = 10, param2: int = 100, param3 := 1000):
  45. pass
  46. func func_b3(param1 = 1.0, param2: float = 10.0, param3 := 100.001):
  47. pass
  48. func func_b4(param1 = 'foo', param2: String = 'bar', param3 := 'foobar'):
  49. pass
  50. func func_b5(
  51. param1 = 'foo', # comment
  52. param2: String = 'bar',
  53. param3: float = 3.14159,
  54. param4:='foobar',
  55. param5:=1000,
  56. param6:=[],
  57. param7:={},
  58. param8:=func_a(),
  59. param9:=Vector2(0, 1),
  60. param10:=Vector2(0, 0),
  61. param11:=Color(1, 1, 1, 0.5),
  62. param12:=NodePath('Foo')
  63. ) -> void:
  64. pass
  65. var dict = {
  66. a = 0,
  67. b = 0.0,
  68. c = 'test',
  69. }
  70. func func_c(
  71. param1: int = 10,
  72. param2 := 1.0,
  73. param3: String = 'string',
  74. param4 := {a=0, b=0.0, c='test'}
  75. ):
  76. pass
  77. # ------------------------------------------------------------------------------
  78. var q = "double quotes"
  79. var r = 'single quotes'
  80. var s = """
  81. triple double quotes
  82. """
  83. var t = '''triple single quotes''' # this should be red because it's invalid
  84. # ------------------------------------------------------------------------------
  85. var IS_CONSTANT
  86. var not_CONSTANT
  87. var ALSO_NOT_constant
  88. var CONSTANT_not
  89. # ------------------------------------------------------------------------------
  90. onready var node_a = $Child
  91. onready var node_b = $Child/GrandChild
  92. onready var node_bb = $Child/GrandChild/GreatGrandChild
  93. onready var node_bbb = $Child/GrandChild/GreatGrandChild/GreatGreatGrandChild
  94. onready var node_c = $"../Sibling"
  95. onready var node_cc = $'../Sibling'
  96. onready var node_d = $'..' # parent
  97. onready var node_e = $"../.." # grandparent
  98. onready var node_f = get_node('Child')
  99. onready var node_g = get_node("Child/GrandChild")
  100. onready var node_h = get_node("../Sibling")
  101. if has_node('Child') and get_node('Child').has_node('GrandChild'):
  102. pass
  103. onready var node_i = $badlyNamedChild
  104. onready var node_j = $badlyNamedChild/badly_named_grandchild
  105. var node_path_a = NodePath("Child")
  106. var node_path_b = NodePath('Child/GrandChild')
  107. var node_path_c = NodePath('../Sibling')
  108. # ------------------------------------------------------------------------------
  109. var _script = GDScript.new()
  110. var directions = [
  111. Vector2.UP,
  112. Vector2.DOWN,
  113. Vector2.LEFT,
  114. Vector2.RIGHT,
  115. ]
  116. enum test_enum {
  117. VALUE_1,
  118. VALUE_2,
  119. VALUE_3,
  120. }
  121. export(test_enum) var enum_variable = test_enum.VALUE_1
  122. # ------------------------------------------------------------------------------
  123. func if_test():
  124. var some_bool := true
  125. while some_bool:
  126. pass
  127. while (some_bool):
  128. pass
  129. if some_bool:
  130. return some_bool
  131. if (some_bool):
  132. return (some_bool)
  133. elif !some_bool:
  134. return !some_bool
  135. elif !(some_bool):
  136. return !(some_bool)
  137. elif (some_bool):
  138. pass
  139. else:
  140. pass
  141. # ------------------------------------------------------------------------------
  142. class InnerClass:
  143. var some_var = 100
  144. var dict = {
  145. 'key_a': some_var,
  146. 'key_b': str(10),
  147. key_c = some_var,
  148. key_d = int('10'),
  149. key_e = Color(1, 1, 1),
  150. key_f = Vector2(10, -10)
  151. }
  152. func _ready():
  153. if true and true:
  154. pass
  155. elif false:
  156. while true:
  157. pass
  158. else:
  159. pass
  160. pass