public override void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadInt(32);
     serStringElements = new SerializeData();
     serStringElements.Parse(buffer);
     //still checking variablearrays
     this.StringElements = new List<UIControlElement>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _StringElements.Count; loop12++)
     {
         _StringElements[loop12] = new UIControlElement();
         _StringElements[loop12].Parse(buffer);
     }
     Field3 = buffer.ReadInt(32);
     serInt32Elements = new SerializeData();
     serInt32Elements.Parse(buffer);
     //still checking variablearrays
     this.Int32Elements = new List<UIDataElementInt32>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _Int32Elements.Count; loop12++)
     {
         _Int32Elements[loop12] = new UIDataElementInt32();
         _Int32Elements[loop12].Parse(buffer);
     }
     Field6 = buffer.ReadInt(32);
     serFloat32Elements = new SerializeData();
     serFloat32Elements.Parse(buffer);
     //still checking variablearrays
     this.Float32Elements = new List<UIDataElementFloat32>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _Float32Elements.Count; loop12++)
     {
         _Float32Elements[loop12] = new UIDataElementFloat32();
         _Float32Elements[loop12].Parse(buffer);
     }
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Field0 = stream.ReadValueS32();
     stream.Position = offset + 4;
     serStringElements = new SerializeData();
     serStringElements.FileRead(stream, stream.Position);
     stream.Position = offset + 12;
     //still checking variablearrays
     StringElements = new List<UIControlElement>();
     for(int i = 0; i < (int)(serStringElements.Field1 / 264); i++)
     {
     stream.Position = serStringElements.Field0 + 16 + (264*i) ;
         UIControlElement temp12_StringElements;
         temp12_StringElements = new UIControlElement();
         temp12_StringElements.FileRead(stream, stream.Position);
         _StringElements.Add(temp12_StringElements);
     }
     stream.Position = offset + 16;
     Field3 = stream.ReadValueS32();
     stream.Position = offset + 20;
     serInt32Elements = new SerializeData();
     serInt32Elements.FileRead(stream, stream.Position);
     stream.Position = offset + 28;
     //still checking variablearrays
     Int32Elements = new List<UIDataElementInt32>();
     for(int i = 0; i < (int)(serInt32Elements.Field1 / 16); i++)
     {
     stream.Position = serInt32Elements.Field0 + 16 + (16*i) ;
         UIDataElementInt32 temp12_Int32Elements;
         temp12_Int32Elements = new UIDataElementInt32();
         temp12_Int32Elements.FileRead(stream, stream.Position);
         _Int32Elements.Add(temp12_Int32Elements);
     }
     stream.Position = offset + 32;
     Field6 = stream.ReadValueS32();
     stream.Position = offset + 36;
     serFloat32Elements = new SerializeData();
     serFloat32Elements.FileRead(stream, stream.Position);
     stream.Position = offset + 44;
     //still checking variablearrays
     Float32Elements = new List<UIDataElementFloat32>();
     for(int i = 0; i < (int)(serFloat32Elements.Field1 / 16); i++)
     {
     stream.Position = serFloat32Elements.Field0 + 16 + (16*i) ;
         UIDataElementFloat32 temp12_Float32Elements;
         temp12_Float32Elements = new UIDataElementFloat32();
         temp12_Float32Elements.FileRead(stream, stream.Position);
         _Float32Elements.Add(temp12_Float32Elements);
     }
 }