Hello,
I’ve avoided having to post a question so far, just finding my information by searching, but I’ve spent way too long trying to figure this out.
I’m making a grid based level, and I’m reading from a text file to populate my array. I made a class that only has one multidimensional array(but it doesn’t work with regular arrays either). Then I make an array of this class, so I can store my levels in an array.
I keep getting this error:
“NullReferenceException: Object reference not set to an instance of an object”
Here is the class, declaration of variable, and function it is used.
[System.Serializable]
public class LevelsClass
{
public int[,] Tile;;
}
public class StageScript : MonoBehaviour {
LevelsClass[] Levels;
void CreateLevelArray()
{
Levels = new LevelsClass[1];
Levels[0].Tile = new int[10, 10]; //ERROR HERE
Levels[0].Tile[0,0] = 1;
//Rest of this doesn't really matter, since the top is to test and it is getting an error.
string l = TxtLevels.ToString();
var le = l.Split('!');
//Debug.Log(lv[0]);
int i = 0;
int j = 0;
int h = 0;
var lev = le[0].Split('
‘);
var leve = lev[0].Split(’,');
int[,] level = new int[0,0];
Levels = new LevelsClass[le.Length];
while (h < le.Length)
{
lev = le<mark>.Split('
‘);
Levels.Tile = new int[yMax - 1, xMax - 1];
while(i < yMax - 2)
{
leve = lev*.Split(’,');
while(j < xMax - 2)
{
Levels.Tile[i,j] = int.Parse(leve[j]);
}
leve = null;
j = 0;
i++;
}
lev = null;
i = 0;
h++;
}
}
}
I don’t know if reading it into the array will work yet, but I can’t even initialize the array from the class. Anyone know what I’m doing wrong.
Thank you so much in advance!*
You can have as many semicolons as you want, since they indicate the end of a statement, and empty statements are fine. This is perfectly valid code: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Not very useful, but valid....
– Eric5h5@Eric5h5 well that explains that @Ramun Flame sorry made some typos in the Answer, what i meant to say was that Levels[0] was null becuase only the array itself was assigned
– Fornoreason1000Thanks so much! I didn't realize you had to initialize each part of the array before assigning. Works great now. Also, the double semicolon was just an typing/pasting error. It wasn't actually in my code. I was deleting a comment after pasting, and an extra semicolon must have survived. Thanks again!
– Ramun_Flame