public Level(SpriteBatch spritebatch, Texture2D[] tileTextures, byte[,] tileArray, Texture2D enemyTexture, Vector2[] enemyPositions, Texture2D trapTexture, Vector2[] trapPositions, int levelNr) { OrangeTileTexture = tileTextures[0]; GreenTileTexture = tileTextures[1]; SpriteBatch = spritebatch; TileArray = tileArray; EnemyTexture = enemyTexture; EnemyPositions = enemyPositions; TrapTexture = trapTexture; TrapPositions = trapPositions; LevelNr = levelNr; Blokken = new Blok[Columns, Rows]; Enemies.Add(Enemy1); Enemies.Add(Enemy2); Traps.Add(Trap1); TrapAnimation = new ObjectAnimation(TrapTexture, SpriteBatch, TrapPositions[0], 120, 400, 6, 60, Color.WhiteSmoke, .7f, true, 1, new int[] { 0, 0, 0, 0, 0, 0 }, 0); TrapAnimation2 = new ObjectAnimation(TrapTexture, SpriteBatch, TrapPositions[1], 120, 400, 6, 60, Color.WhiteSmoke, .7f, true, 1, new int[] { 0, 0, 0, 0, 0, 0 }, 0); TrapAnimation3 = new ObjectAnimation(TrapTexture, SpriteBatch, TrapPositions[2], 120, 400, 6, 60, Color.WhiteSmoke, .7f, true, 1, new int[] { 0, 0, 0, 0, 0, 0 }, 0); CreateLevel(); CurrentBoard = this; if (levelNr == 2) // kan zonder levelNr als je traps en enemies meegeeft met Level Object { Traps.Clear(); //clear enemies en traps van vorige level voor je nieuwe level start Enemies.Clear(); Enemies.Add(Enemy1); Enemies.Add(Enemy2); CreateLevel2(); } }
private void InitBlokkenForLevel() { for (int x = 0; x < Columns; x++) { for (int y = 0; y < Rows; y++) { Vector2 tilePosition = new Vector2(x * OrangeTileTexture.Width, y * OrangeTileTexture.Height); Vector2 tile2Position = new Vector2(x * GreenTileTexture.Width, y * GreenTileTexture.Height); if (TileArray[y, x] == 1) { Blokken[x, y] = new Blok(OrangeTileTexture, tilePosition, SpriteBatch, true); } if (TileArray[y, x] == 2) { Blokken[x, y] = new Blok(GreenTileTexture, tile2Position, SpriteBatch, true); // maak nieuwe klasse met appart blok } } } }