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()); }
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()); }