My waypoints not working

my waypoınts not workıng ın foreach loop.Enemy goıng waypoınt(0) after stop.I’m absolutely sure the codes are the same.

`[SerializeField] WaveConfig waveConfig;
      List<Transform> waypoints;
    [SerializeField] float moveSpeed = 15f;
    int waypointIndex = 0;

    // Start is called before the first frame update
    void Start()
    {
        waypoints = waveConfig.GetWayPoints();
        transform.position = waypoints[waypointIndex].transform.position;
    }

    // Update is called once per frame
    void Update()
    {
        Move();

    }

    private void Move()
    {
        if (waypointIndex <= waypoints.Count - 1)
        {
            var targetPosition = waypoints[waypointIndex].transform.position;
            var movementThisFrame = moveSpeed * Time.deltaTime;
            transform.position = Vector2.MoveTowards(transform.position, targetPosition, movementThisFrame);

            if (transform.position == targetPosition)
            {
                waypointIndex++;
            }
        }
        else
        {
            Destroy(gameObject);
        }
    }
}
`
   [SerializeField] GameObject enemyPrefabs;
    [SerializeField] GameObject pathPrefabs;
    [SerializeField] float timeBetweenSpawns = 0.5f;
    [SerializeField] float spawnRandomFactor = 0.5f;
    [SerializeField] int numberOfEnemies = 5;
    [SerializeField] float moveSpeed = 2f;


    public GameObject GetEnemyPrefabs(){ return enemyPrefabs;}
    public List<Transform> GetWayPoints()
    {
        var waveWaypoints = new List<Transform>();
        
        foreach (Transform child in pathPrefabs.transform)
        {
            waveWaypoints.Add(child);
        }
        return waveWaypoints;
    }

    public float GetTimeBetweenSpawns() { return  timeBetweenSpawns; }

    public float GetSpawnRandomFactors() { return spawnRandomFactor; }

    public int GetNumberOfEnemies() { return numberOfEnemies; }

    public float GetMoveSpeed() { return moveSpeed; }

check the path prefab and reset it transform position or reset position in your game secne and then click to apply all

1 Like

Thanks! This worked for me.

Privacy & Terms