Esempio n. 1
0
    void FixedUpdate()
    {
        Transform currentTarget = behavior.GetCurrentTarget();

        if (currentTarget == null)
        {
            return;
        }

        if (path == null)
        {
            return;
        }

        if (currentWaypoint >= path.vectorPath.Count)
        {
            if (pathIsEnded)
            {
                return;
            }

            Debug.Log("End of Path reached");

            pathIsEnded = true;

            return;
        }

        pathIsEnded = false;

        direction.SetPreviousPosition(transform.position.x);
        transform.position = Vector3.MoveTowards(transform.position, path.vectorPath[currentWaypoint], speed * Time.deltaTime);
        direction.SetNextPosition(transform.position.x);

        float dist = Vector3.Distance(transform.position, path.vectorPath[currentWaypoint]);

        if (dist < nextWaypointDistance)
        {
            currentWaypoint++;
            return;
        }
    }
Esempio n. 2
0
 void FixedUpdate()
 {
     direction.SetPreviousPosition(transform.position.x);
     transform.position = Vector3.MoveTowards(transform.position, target, speed * Time.deltaTime);
     direction.SetNextPosition(transform.position.x);
 }