summaryrefslogtreecommitdiff
path: root/Scripts/AI.gd
diff options
context:
space:
mode:
Diffstat (limited to 'Scripts/AI.gd')
-rw-r--r--Scripts/AI.gd37
1 files changed, 37 insertions, 0 deletions
diff --git a/Scripts/AI.gd b/Scripts/AI.gd
new file mode 100644
index 0000000..d5cbcbe
--- /dev/null
+++ b/Scripts/AI.gd
@@ -0,0 +1,37 @@
+extends Node
+class_name AI
+
+@export_group("Values")
+
+@export_group("Scenes")
+@export var shape_cast_original : ShapeCast2D
+@export var shape_cast_skill_issue: ShapeCast2D
+
+func _ready():
+ GlobalVariables.ai = self
+
+func step(alternative : bool = false):
+ var shape_cast : ShapeCast2D
+
+ if !alternative:
+ shape_cast = shape_cast_original
+ else:
+ shape_cast = shape_cast_skill_issue
+
+ shape_cast.force_shapecast_update()
+
+ var nodes : Array[NumberNode] = []
+
+ print(shape_cast.collision_result)
+
+ for collision in shape_cast.collision_result:
+ if collision.collider.get_node("..") is NumberNode:
+ if collision.collider.get_node("..").do_scanning:
+ nodes.append(collision.collider.get_node(".."))
+
+ nodes.sort_custom(func(a, b): return a.value > b.value)
+
+ if nodes.size() > 0:
+ nodes[0].join_from($"..")
+ else:
+ step(true)