public override void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadCharArray(256);
     Field1 = buffer.ReadCharArray(256);
     Field2 = buffer.ReadInt(32);
     dwNumControls = buffer.ReadInt(32);
     serControlList = new SerializeData();
     serControlList.Parse(buffer);
     //still checking variablearrays
     this.ControlList = new List<UIControlData>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _ControlList.Count; loop12++)
     {
         _ControlList[loop12] = new UIControlData();
         _ControlList[loop12].Parse(buffer);
     }
     dwNumStyles = buffer.ReadInt(32);
     serStyleList = new SerializeData();
     serStyleList.Parse(buffer);
     //still checking variablearrays
     this.StyleList = new List<UIStyle>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _StyleList.Count; loop12++)
     {
         _StyleList[loop12] = new UIStyle();
         _StyleList[loop12].Parse(buffer);
     }
     Field9 = new DataElements();
     Field9.Parse(buffer);
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 12;
     Field0 = stream.ReadString(256);
     stream.Position = offset + 268;
     Field1 = stream.ReadString(256);
     stream.Position = offset + 524;
     Field2 = stream.ReadValueS32();
     stream.Position = offset + 528;
     dwNumControls = stream.ReadValueS32();
     stream.Position = offset + 532;
     serControlList = new SerializeData();
     serControlList.FileRead(stream, stream.Position);
     stream.Position = offset + 540;
     //still checking variablearrays
     ControlList = new List<UIControlData>();
     for(int i = 0; i < (int)(serControlList.Field1 / 1760); i++)
     {
     stream.Position = serControlList.Field0 + 16 + (1760*i) ;
         UIControlData temp12_ControlList;
         temp12_ControlList = new UIControlData();
         temp12_ControlList.FileRead(stream, stream.Position);
         _ControlList.Add(temp12_ControlList);
     }
     stream.Position = offset + 544;
     dwNumStyles = stream.ReadValueS32();
     stream.Position = offset + 548;
     serStyleList = new SerializeData();
     serStyleList.FileRead(stream, stream.Position);
     stream.Position = offset + 556;
     //still checking variablearrays
     StyleList = new List<UIStyle>();
     for(int i = 0; i < (int)(serStyleList.Field1 / 608); i++)
     {
     stream.Position = serStyleList.Field0 + 16 + (608*i) ;
         UIStyle temp12_StyleList;
         temp12_StyleList = new UIStyle();
         temp12_StyleList.FileRead(stream, stream.Position);
         _StyleList.Add(temp12_StyleList);
     }
     stream.Position = offset + 560;
     Field9 = new DataElements();
     Field9.FileRead(stream, stream.Position);
 }