예제 #1
0
        private static void ReadData(ISctSource sct, MapTile tile, List <Bitmap> tiles)
        {
            var enumer = sct.EnumerateData().GetEnumerator();

            for (var y = 0; y < sct.DataHeight; y++)
            {
                for (var x = 0; x < sct.DataWidth; x++)
                {
                    enumer.MoveNext();
                    tile.TileGrid.Set(x, y, tiles[enumer.Current]);
                }
            }
        }
예제 #2
0
        private static void ReadHeights(ISctSource sct, MapTile tile)
        {
            var enumer = sct.EnumerateAttrs().GetEnumerator();

            for (var y = 0; y < sct.DataHeight * 2; y++)
            {
                for (var x = 0; x < sct.DataWidth * 2; x++)
                {
                    enumer.MoveNext();
                    tile.HeightGrid.Set(x, y, enumer.Current.Height);
                }
            }
        }
예제 #3
0
        public MapTile TileFromSct(ISctSource sct)
        {
            var tile = new MapTile(sct.DataWidth, sct.DataHeight);

            var tiles = new List <Bitmap>(sct.TileCount);

            tiles.AddRange(sct.EnumerateTiles().Select(this.TileToBitmap));

            ReadData(sct, tile, tiles);

            ReadHeights(sct, tile);

            return(tile);
        }
예제 #4
0
 public static Bitmap MinimapFromSct(ISctSource sct)
 {
     return(MinimapToBitmap(sct.GetMinimap()));
 }