0
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class LevelGenerator : MonoBehaviour
{

    [SerializeField] private List<Transform> LevelParts;
    [SerializeField] private Transform GameStart;
    [SerializeField] private Transform player;
    private Transform LastLevelEnd;
    private List<Transform> AllLevelEnds;

    private void Start()
    {
        LastLevelEnd = GameStart;


        

        SpawnLevel();
        SpawnLevel();
        SpawnLevel();
        SpawnLevel();
        

    }

    private void SpawnLevel()
    {
        Transform ChosenLevel = LevelParts[Random.Range(0, LevelParts.Count)];
        Transform LastLevel = Instantiate(ChosenLevel, LastLevelEnd.position, Quaternion.identity);
        LastLevelEnd = LastLevel.Find("End");
        AllLevelEnds.Add(LastLevelEnd);
        Debug.Log(AllLevelEnds[0].position);

    }

    private void Update()
    {

        if (player.position.x > 10f)
        {
            Debug.Log(player.position.x);
            player.position = new Vector2(player.position.x - 10f, player.position.y);
        }


        //AllLevelEnds.RemoveAt(0);
    }
}

I am new

NullReferenceException: Object reference not set to an instance of an object
LevelGenerator.SpawnLevel () (at Assets/LevelGenerator.cs:32)
LevelGenerator.Start () (at Assets/LevelGenerator.cs:21)

No error show up inside Visual Studio.

I dont know how to fix this as I am new. I wont let me post this because I have to much code. sorry if this is not specific enough. sggdgdrgdgdfbdstbrsfbntrnhydnmtntdynmntydnj

Ash
  • 13
  • 4
  • Looks like `AllLevelEnds` is NULL. You need to set its value before you use it. you cans set value in constructor of the class – Chetan Apr 30 '22 at 16:31

0 Answers0