Beispiel #1
0
        public static SubLayer[] FromReader(BigEndianBinaryReader reader, Layer layer)
        {
            var sublayers = new List <SubLayer>();

            for (var numSubLayer = 0; numSubLayer < layer.NumberOfSubLayers; numSubLayer++)
            {
                var sublayer = new SubLayer(layer.LayerWidth, layer.LayerHeight);
                for (var numSubLayerTile = 0; numSubLayerTile < sublayer.tiles.Length; numSubLayerTile++)
                {
                    sublayer.tiles[numSubLayerTile] = TileID.FromReader(reader);
                }
                sublayers.Add(sublayer);
            }

            return(sublayers.ToArray());
        }
Beispiel #2
0
        public static Layer[] FromReader(BigEndianBinaryReader reader, byte numLayers)
        {
            var layers = new List <Layer>();

            for (int numLayer = 0; numLayer < numLayers; numLayer++)
            {
                var layer = new Layer();

                layer.LayerWidth        = reader.ReadInt16();
                layer.LayerHeight       = reader.ReadInt16();
                layer.NumberOfSubLayers = reader.ReadByte();
                layer.SubLayers         = SubLayer.FromReader(reader, layer);
                layers.Add(layer);
            }

            return(layers.ToArray());
        }