Question by
Jasnik · Apr 20, 2021 at 01:53 PM ·
c#scripting problembest practices
Level multiple data values should I use a list?
So I have built a game. Within it I then started to add the levels for testing Currently only 4 levels. I have a grid which I can change the items in the grid. So wrote a simple Update grid script which takes 4 values. Works well: But I am thinking as I add more and more it is going to get rather large. So I thought Id add these to a list then call the level list to initalise the Level. But now I am thinking this is just as bad as I had before. So trying to think of a better way to do this. What are your thoughts? Current.
public void LevelPick(int level)
{
if (level == 1)
{
UpdateGrid("End", 0, 18, false);
levelPicker = false;
}
....
....
if (level == 4)
{
UpdateGrid("Blank", 0, 0, false);
UpdateGrid("StraightPipe", 0, 9, false);
UpdateGrid("BendPipe", 2, 10, false);
UpdateGrid("Blank", 0, 18, false);
UpdateGrid("BendPipe", 0, 26, false);
UpdateGrid("BendPipe", 2, 28, false);
UpdateGrid("Cube", 0, 34, false);
UpdateGrid("Cube", 0, 35, false);
UpdateGrid("End", 0, 43, false);
levelPicker = false;
}
New Idea: Levels is simple class with values
List level1 = new List();
List level2 = new List();
void GameLevelInit()
{
//Level1
level1.Add(new Levels("End", 0, 18,false));
//Level2
level2.Add(new Levels("Blank", 0, 3, false));
level2.Add(new Levels("Blank", 0, 4, false));
level2.Add(new Levels("Blank", 0, 11, false));
level2.Add(new Levels("Blank", 0, 12, false));
level2.Add(new Levels("Blank", 0, 19, false));
level2.Add(new Levels("Blank", 0, 20, false));
level2.Add(new Levels("Blank", 0, 27, false));
level2.Add(new Levels("Blank", 0, 28, false));
level2.Add(new Levels("Blank", 0, 35, false));
level2.Add(new Levels("Blank", 0, 36, false));
level2.Add(new Levels("Blank", 0, 43, false));
level2.Add(new Levels("Blank", 0, 44, false));
level2.Add(new Levels("Blank", 0, 51, false));
level2.Add(new Levels("Blank", 0, 52, false));
level2.Add(new Levels("Blank", 0, 59, false));
level2.Add(new Levels("Blank", 0, 60, false));
level2.Add(new Levels("End", 0, 63, false));
}
Comment