예제 #1
0
 private void OnTriggerExit(Collider other)
 {
     if (other.CompareTag("Cluster"))
     {
         KamiState = KAMI_STATE.LIBRE;
     }
 }
예제 #2
0
    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;
    }
예제 #3
0
    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);
    }