I have a script called InitGameBoard. I have a multi-dimensional array of game objects declared at the beginning like this:
public GameObject[,] floorContents=new GameObject[20,20];
I am trying to store an Instantiated prefab in the multi-dimensional array like this:
Vector3 select2ndPos=new Vector3(dieEight,0,dieSix);
floorContents[dieEight,dieSix]=Instantiate(fireObject,select2ndPos,transform.rotation)as GameObject;
and then I am trying to destroy it and remove it from the scene like this:
Destroy(floorContents[x,z]);
But it doesn’t seem like it is even saving the object in the array, and it isn’t giving me any errors. Any idea what I’m doing wrong?
Xtro
2
Make sure the type of fireObject is GameObject.
If the type is a script class, then use fireObject.gameObject in Instantiate method.
Btw, I don’t prefer to use “as” for casting purposes. Because it doesn’t throw an exception when there is a type casting mismatch. It just sets it to null silently.
To be able to catch that casting errors, you should use regular casting like…
floorContents[dieEight,dieSix]=(GameObject)Instantiate(fireObject,select2ndPos,transform.rotation);