mirror of
https://github.com/sharkdp/bat.git
synced 2025-04-29 14:04:28 +02:00
72 lines
1.6 KiB
GDScript
Vendored
72 lines
1.6 KiB
GDScript
Vendored
extends Node
|
|
|
|
signal custom_signal(param)
|
|
|
|
const PI = 3.14159
|
|
|
|
var untyped_var = "Hello, World!"
|
|
var typed_int: int = 42
|
|
var typed_float: float = 3.14
|
|
var typed_string: String = "GDScript Test"
|
|
var typed_array: Array = [1, 2, 3, 4]
|
|
var typed_dict: Dictionary = {"key": "value", "number": 100}
|
|
|
|
onready var label = $Label
|
|
|
|
func say_hello() -> void:
|
|
print("Hello from GDScript!")
|
|
|
|
func add_numbers(a: int, b: int = 10) -> int:
|
|
return a + b
|
|
|
|
func process_value(value: int) -> String:
|
|
if value < 0:
|
|
return "Negative"
|
|
elif value == 0:
|
|
return "Zero"
|
|
else:
|
|
return "Positive"
|
|
|
|
func sum_array(arr: Array) -> int:
|
|
var total: int = 0
|
|
for num in arr:
|
|
total += num
|
|
return total
|
|
|
|
func describe_number(num: int) -> String:
|
|
match num:
|
|
0:
|
|
return "Zero"
|
|
1, 2, 3:
|
|
return "Small number"
|
|
_:
|
|
return "Large number"
|
|
|
|
func long_description() -> String:
|
|
return """This is a test file for GDScript.
|
|
It covers variables, functions, control structures, loops, signals, inner classes,
|
|
multiline strings, arrays, and dictionaries."""
|
|
|
|
class InnerExample:
|
|
var inner_value: int = 99
|
|
func show_value() -> void:
|
|
print("Inner value is:", inner_value)
|
|
|
|
func test_inner_class() -> void:
|
|
var inner = InnerExample.new()
|
|
inner.show_value()
|
|
|
|
func trigger_signal() -> void:
|
|
emit_signal("custom_signal", "TestParam")
|
|
|
|
func _ready() -> void:
|
|
say_hello()
|
|
var result_add = add_numbers(5)
|
|
print("Add result:", result_add)
|
|
print("Process value for -5:", process_value(-5))
|
|
print("Sum of array [10, 20, 30]:", sum_array([10, 20, 30]))
|
|
print("Description for 2:", describe_number(2))
|
|
print("Long description:\n", long_description())
|
|
test_inner_class()
|
|
trigger_signal()
|