It’s a pathfinding script. Even when the object completes it’s path and goes back to the original point, I still get an error “Array index out of range” in line 39. (targetWayPoint = wayPointList[currentWayPoint]
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PathFollow : MonoBehaviour {
public Transform[] wayPointList;
public int currentWayPoint = 0;
Transform targetWayPoint;
public float speed = 4f;
void Start()
{
}
void Update()
{
if (currentWayPoint < this.wayPointList.Length)
{
if (targetWayPoint == null)
targetWayPoint = wayPointList[currentWayPoint];
Walk();
}
else if (currentWayPoint > wayPointList.Length - 1) {
currentWayPoint = 0;
targetWayPoint = wayPointList[currentWayPoint];
Walk();
}
}
void Walk()
{
transform.forward = Vector3.RotateTowards(transform.forward, targetWayPoint.position - transform.position, speed * Time.deltaTime, 0.0f);
transform.position = Vector3.MoveTowards(transform.position, targetWayPoint.position, speed * Time.deltaTime);
if (transform.position == targetWayPoint.position)
{
currentWayPoint++;
targetWayPoint = wayPointList[currentWayPoint]; //I'm getting the error here.
}
}
}