// Generates an x and y position for each tile, and initializes them as empty void InitializeTiles() { float startingXPos = (windowDimensions.X / 2) - (altitude * 64 * Camera.zoom / 2); float startingYPos = windowDimensions.Y - 100; // i is across, j is up for (int i = 0; i < altitude; i++) { for (int j = 0; j < altitude; j++) { float xPos = startingXPos + (i * 64); float yPos = startingYPos - (j * 64); mountainTiles[i, j] = new MountainTile(TileTypes.EMPTY, xPos, yPos); } } }
public void Draw(SpriteBatch spriteBatch, MountainTile tile) { if (tile.type == TileTypes.EMPTY) { return; } SpriteClass spriteToDraw = full; switch (tile.type) { case TileTypes.FULL: spriteToDraw = full; break; case TileTypes.FLAT: spriteToDraw = flat; break; case TileTypes.FOURTYFIVE: spriteToDraw = fourtyFive; break; case TileTypes.TWENTYTWOLOWER: spriteToDraw = twentyTwoLower; break; case TileTypes.TWENTYTWOUPPER: spriteToDraw = twentyTwoUpper; break; case TileTypes.SIXTYSEVENLOWER: spriteToDraw = sixtySevenLower; break; case TileTypes.SIXTYSEVENUPPER: spriteToDraw = sixtySevenUpper; break; case TileTypes.NINETY: spriteToDraw = ninety; break; } spriteToDraw.X = tile.X; spriteToDraw.Y = tile.Y; spriteToDraw.Draw(spriteBatch); //spriteToDraw may not have been initialized? }