private void OnTriggerExit(Collider other) { if (other.CompareTag("Cluster")) { KamiState = KAMI_STATE.LIBRE; } }
void SetupEsquivando(PathGenerator pathG) { currentPathG = pathG; int myNearestNode = NodeNearestToTransform(transform); TargetNode = NodeNearestToTransform(GameController.GC.Player); path = PathFinding.Disjkstra(currentPathG.graph, myNearestNode, TargetNode); pathCounter = 0; currentTarget = pathG.waypoints[path[pathCounter]]; KamiState = KAMI_STATE.ESQUIVANDO; }
void Esquivando() { if (Vector3.Distance(transform.position, currentTarget) < minDistance) { int newTargetNode = NodeNearestToTransform(GameController.GC.Player); if (TargetNode != newTargetNode) { TargetNode = newTargetNode; path = PathFinding.Disjkstra(currentPathG.graph, path[pathCounter], TargetNode); pathCounter = 0; } if (pathCounter + 1 >= path.Count) { addSeek(GameController.GC.Player.position); KamiState = KAMI_STATE.LIBRE; return; } pathCounter++; currentTarget = currentPathG.waypoints[path[pathCounter]]; } addSeek(currentTarget); }