Exemple #1
0
        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();
        }
Exemple #2
0
        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;
        }