public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     SquaresCountX = stream.ReadValueS32();
     stream.Position = offset + 4;
     SquaresCountY = stream.ReadValueS32();
     stream.Position = offset + 8;
     Field2 = stream.ReadValueS32();
     stream.Position = offset + 12;
     NavMeshSquareCount = stream.ReadValueS32();
     stream.Position = offset + 16;
     Field4 = stream.ReadValueF32();
     stream.Position = offset + 20;
     serNavMeshArraySquares = new SerializeData();
     serNavMeshArraySquares.FileRead(stream, stream.Position);
     stream.Position = offset + 32;
     //still checking variablearrays
     Squares = new List<NavMeshSquare>();
     for(int i = 0; i < (int)(serNavMeshArraySquares.Field1 / 8); i++)
     {
     stream.Position = serNavMeshArraySquares.Field0 + 16 + (8*i) ;
         NavMeshSquare temp12_Squares;
         temp12_Squares = new NavMeshSquare();
         temp12_Squares.FileRead(stream, stream.Position);
         _Squares.Add(temp12_Squares);
     }
     stream.Position = offset + 40;
     Filename = stream.ReadString(256);
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Field0 = new NavMeshSquare();
     Field0.FileRead(stream, stream.Position);
     stream.Position = offset + 8;
     Field1 = new int[4];
     for(int loop12=0; loop12 < 4; loop12++ )
     {
         int temp12_Field1;
         temp12_Field1 = stream.ReadValueS32();
         _Field1[loop12] = temp12_Field1;
     }
     stream.Position = offset + 24;
     Field2 = stream.ReadValueS32();
     stream.Position = offset + 28;
     Field3 = stream.ReadValueS32();
 }