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