summaryrefslogtreecommitdiff
path: root/Scripts/AI.gd
blob: d5cbcbe3daf25192620a9426e65ddf608ec01fdb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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)