public void Deserialize(BinaryReader reader)
{
Width = reader.ReadInt32();
Height = reader.ReadInt32();
Stories = reader.ReadInt32();
var size = Width * Height;
Walls = new WallTile[Stories][];
for (int l=0;l<Stories;l++)
{
Walls[l] = new WallTile[size];
for (int i = 0; i < size; i++) Walls[l][i] = WallTileSerializer.Deserialize(reader);
}
Floors = new FloorTile[Stories][];
for (int l = 0; l < Stories; l++)
{
Floors[l] = new FloorTile[size];
for (int i = 0; i < size; i++) Floors[l][i] = new FloorTile { Pattern = reader.ReadUInt16() };
}
WallsDirty = reader.ReadBoolean();
FloorsDirty = reader.ReadBoolean();
}