예제 #1
0
        private void LoadTileMap(string fileName, bool compressed = false)
        {
            if (System.IO.Path.GetExtension(fileName) != ".tmap" && System.IO.Path.GetExtension(fileName) != ".txt")
            {
                System.Windows.MessageBox.Show(fileName, "Invalid file");
                return;
            }

            currentMap = fileName;
            TileGrid.ClearTiles();

            TileMapWrapper tileMap = tileMapRepository.LoadMap(fileName, compressed);

            if (tileMap != null)
            {
                TileGrid.AddLayers(tileMap.Layers);
                TileGrid.Update(model.Sprites);

                model.CanvasWidth      = tileMap.Width;
                model.CanvasHeight     = tileMap.Height;
                Status.Text            = "Loaded tilemap from: " + currentMap;
                TileGrid.SelectedLayer = 0;
            }
            else
            {
                Status.Text = "Tilemap load failed: " + currentMap;
            }
        }
예제 #2
0
        public TileMapWrapper LoadMap(string fileName, bool compressed = false)
        {
            TileMap        tileMap = mapRepository.LoadMap(fileName, compressed);
            TileMapWrapper result  = new TileMapWrapper(tileMap.Width, tileMap.Height);

            ConvertLayers(result, tileMap.Layers);
            return(result);
        }
예제 #3
0
        private static void ConvertLayers(TileMapWrapper result, IEnumerable <Layer> layersToConvert)
        {
            List <Layer> layers = new List <Layer>();

            foreach (Layer l in layersToConvert)
            {
                l.Tiles = ConvertTiles(l.Tiles);
                result.AddLayer(l);
            }
        }