summaryrefslogtreecommitdiff
path: root/addons/gdUnit4/src/network/GdUnitTask.gd
diff options
context:
space:
mode:
authorradiohotline <radoihotline@disroot.rg>2026-08-25 16:33:56 +0300
committerradiohotline <radoihotline@disroot.rg>2026-08-25 16:33:56 +0300
commita89e744ed0e8c759caf041a580112365bbfe4303 (patch)
treedd61e320904176995727e86a857d00c90d4933ba /addons/gdUnit4/src/network/GdUnitTask.gd
parent6d53d8cac78250dc888aa49d5f9d4175c6652feb (diff)
escoria updateHEADmain
Diffstat (limited to 'addons/gdUnit4/src/network/GdUnitTask.gd')
-rw-r--r--addons/gdUnit4/src/network/GdUnitTask.gd25
1 files changed, 25 insertions, 0 deletions
diff --git a/addons/gdUnit4/src/network/GdUnitTask.gd b/addons/gdUnit4/src/network/GdUnitTask.gd
new file mode 100644
index 0000000..e0188a0
--- /dev/null
+++ b/addons/gdUnit4/src/network/GdUnitTask.gd
@@ -0,0 +1,25 @@
+class_name GdUnitTask
+extends RefCounted
+
+const TASK_NAME = "task_name"
+const TASK_ARGS = "task_args"
+
+var _task_name :String
+var _fref :Callable
+
+
+func _init(task_name :String,instance :Object,func_name :String) -> void:
+ _task_name = task_name
+ if not instance.has_method(func_name):
+ push_error("Can't create GdUnitTask, Invalid func name '%s' for instance '%s'" % [instance, func_name])
+ _fref = Callable(instance, func_name)
+
+
+func name() -> String:
+ return _task_name
+
+
+func execute(args :Array) -> GdUnitResult:
+ if args.is_empty():
+ return _fref.call()
+ return _fref.callv(args)