Files
kicking-high/proto3/godot/ai/fetch_path_point.gd
2020-04-13 12:45:25 +03:00

26 lines
625 B
GDScript

extends BTAction
class_name BTFetchPathPoint
func tick(tick: Tick) -> int:
var npc = tick.actor
var path = Array(npc.get_meta("path"))
var valid = npc.get_meta("path_valid")
if valid <= 0.0:
# print("no valid path1")
npc.do_stop()
return FAILED
if path.size() == 0:
# print("no valid path2")
npc.do_stop()
return FAILED
var point = path[0]
var npc_pos = npc.global_transform.origin
if npc_pos.distance_to(point) < 0.5:
if path.size() > 0:
point = path.pop_front()
point.y = npc_pos.y
npc.set_meta("path_point", point)
npc.set_meta("path", path)
# print("fetched path point: ", point)
return OK