public TileMap(Level level, Texture tileTex, int tilesX, int tilesY, float tileSize = 16) { _lvlInstance = level; _texture = tileTex; _tiles = new GridLayer <Tile>(tilesX, tilesY, tileSize); _tileSize = tileSize; Console.WriteLine("TileSize: " + _tileSize); StartTile = null; EndTile = null; Invalidate(); }
private void Invalidate() { _tileSize = _texture.Size.X * Level.SpriteScalar; if (_tiles == null) // Init array { _tiles = new GridLayer <Tile>(TilesX, TilesY, _tileSize); } for (int y = 0; y < TilesY; y++) { for (int x = 0; x < TilesX; x++) { var newPos = new Vector2f(_tileSize * x, _tileSize * y); int idx = _tiles.GetIndex(x, y); var tile = new Tile(_texture, newPos, idx, Level.SpriteScalar); _tiles[idx] = tile; } } _invalidate = false; }