public override void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadInt(2);
     Field1 = buffer.ReadInt(32);
     Field2 = buffer.ReadInt(32);
     Field3 = new IVector2D();
     Field3.Parse(buffer);
     serTiles = new SerializeData();
     serTiles.Parse(buffer);
     //still checking variablearrays
     this.Tiles = new List<CustomTileCell>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _Tiles.Count; loop12++)
     {
         _Tiles[loop12] = new CustomTileCell();
         _Tiles[loop12].Parse(buffer);
     }
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     _Field0 = stream.ReadValueS32();
     stream.Position = offset + 4;
     Field1 = stream.ReadValueS32();
     stream.Position = offset + 8;
     Field2 = stream.ReadValueS32();
     stream.Position = offset + 12;
     Field3 = new IVector2D();
     Field3.FileRead(stream, stream.Position);
     stream.Position = offset + 20;
     serTiles = new SerializeData();
     serTiles.FileRead(stream, stream.Position);
     stream.Position = offset + 32;
     //still checking variablearrays
     Tiles = new List<CustomTileCell>();
     for(int i = 0; i < (int)(serTiles.Field1 / 36); i++)
     {
     stream.Position = serTiles.Field0 + 16 + (36*i) ;
         CustomTileCell temp12_Tiles;
         temp12_Tiles = new CustomTileCell();
         temp12_Tiles.FileRead(stream, stream.Position);
         _Tiles.Add(temp12_Tiles);
     }
 }