Quantcast
Channel: Questions in topic: "class instance"
Viewing all articles
Browse latest Browse all 131

Object reference not set to an instance of an object (singleton)

$
0
0
Hello! I have a class Main. In the start method of that class i call a method InitMainScreen. InitMainScreen sets some starting conditions (enables the main menu, clears scene of garbage objects and instantiate a player): void Start () { instance = this; Screen.orientation = ScreenOrientation.Portrait; InitMainScreen (); } public void InitMainScreen() { Instantiate (player, new Vector3 (1, -3.51f, 0), transform.rotation); TerrainManager.instance.ResetScene (); GuiManager.instance.EnableMainMenu (); } My issue is that the line `TerrainManager.instance.ResetScene ();` gives the error "Object reference not set to an instance of an object" This is really confusing to me, because in the TerrainManger i have a public static TerrainManager instance that i during start set to the same class: public static TerrainManager instance = null; public GameObject wallPair1; public GameObject wallPair2; public GameObject obstacle; public GameObject startFloor; private float rawDistanceClimbed; void Start() { instance = this; } public void ResetScene() { startFloor.transform.position = new Vector3 (0, -4.891f, 0); wallPair1.transform.position = new Vector3 (0, -12, 0); wallPair2.transform.position = new Vector3 (0, 0, 0); GameObject[] garbageCollector; garbageCollector = GameObject.FindGameObjectsWithTag ("obstacle"); foreach (GameObject obstacle in garbageCollector) {Destroy (obstacle);} rawDistanceClimbed = 0; } This way of referencing classes usually work for me but i cant figure out why i get this error now? EDIT: i think i have this issue because the TerrainManager class is initialized after the Main class? If this is the case i guess my only option is to set the starting environment manually.. :/

Viewing all articles
Browse latest Browse all 131

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>