public override void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadInt(32);
     serInt32Elements = new SerializeData();
     serInt32Elements.Parse(buffer);
     //still checking variablearrays
     this.Int32Elements = new List<UIAnimationElementInt32>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _Int32Elements.Count; loop12++)
     {
         _Int32Elements[loop12] = new UIAnimationElementInt32();
         _Int32Elements[loop12].Parse(buffer);
     }
     Field3 = buffer.ReadInt(32);
     serFloatElements = new SerializeData();
     serFloatElements.Parse(buffer);
     //still checking variablearrays
     this.FloatElements = new List<UIAnimationElementFloat>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _FloatElements.Count; loop12++)
     {
         _FloatElements[loop12] = new UIAnimationElementFloat();
         _FloatElements[loop12].Parse(buffer);
     }
     Field6 = buffer.ReadInt(32);
     serVector2DElements = new SerializeData();
     serVector2DElements.Parse(buffer);
     //still checking variablearrays
     this.Vector2DElements = new List<UIAnimationElementVector2D>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _Vector2DElements.Count; loop12++)
     {
         _Vector2DElements[loop12] = new UIAnimationElementVector2D();
         _Vector2DElements[loop12].Parse(buffer);
     }
     Field9 = buffer.ReadInt(32);
     serAnimationDescriptions = new SerializeData();
     serAnimationDescriptions.Parse(buffer);
     //still checking variablearrays
     this.AnimationDescriptions = new List<UIAnimationDescription>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _AnimationDescriptions.Count; loop12++)
     {
         _AnimationDescriptions[loop12] = new UIAnimationDescription();
         _AnimationDescriptions[loop12].Parse(buffer);
     }
     Field12 = buffer.ReadInt(32);
     serAnimationBindings = new SerializeData();
     serAnimationBindings.Parse(buffer);
     //still checking variablearrays
     this.AnimationBindings = new List<UIControlAnimationBinding>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _AnimationBindings.Count; loop12++)
     {
         _AnimationBindings[loop12] = new UIControlAnimationBinding();
         _AnimationBindings[loop12].Parse(buffer);
     }
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Field0 = stream.ReadValueS32();
     stream.Position = offset + 4;
     serInt32Elements = new SerializeData();
     serInt32Elements.FileRead(stream, stream.Position);
     stream.Position = offset + 12;
     //still checking variablearrays
     Int32Elements = new List<UIAnimationElementInt32>();
     for(int i = 0; i < (int)(serInt32Elements.Field1 / 8); i++)
     {
     stream.Position = serInt32Elements.Field0 + 16 + (8*i) ;
         UIAnimationElementInt32 temp12_Int32Elements;
         temp12_Int32Elements = new UIAnimationElementInt32();
         temp12_Int32Elements.FileRead(stream, stream.Position);
         _Int32Elements.Add(temp12_Int32Elements);
     }
     stream.Position = offset + 16;
     Field3 = stream.ReadValueS32();
     stream.Position = offset + 20;
     serFloatElements = new SerializeData();
     serFloatElements.FileRead(stream, stream.Position);
     stream.Position = offset + 28;
     //still checking variablearrays
     FloatElements = new List<UIAnimationElementFloat>();
     for(int i = 0; i < (int)(serFloatElements.Field1 / 8); i++)
     {
     stream.Position = serFloatElements.Field0 + 16 + (8*i) ;
         UIAnimationElementFloat temp12_FloatElements;
         temp12_FloatElements = new UIAnimationElementFloat();
         temp12_FloatElements.FileRead(stream, stream.Position);
         _FloatElements.Add(temp12_FloatElements);
     }
     stream.Position = offset + 32;
     Field6 = stream.ReadValueS32();
     stream.Position = offset + 36;
     serVector2DElements = new SerializeData();
     serVector2DElements.FileRead(stream, stream.Position);
     stream.Position = offset + 44;
     //still checking variablearrays
     Vector2DElements = new List<UIAnimationElementVector2D>();
     for(int i = 0; i < (int)(serVector2DElements.Field1 / 12); i++)
     {
     stream.Position = serVector2DElements.Field0 + 16 + (12*i) ;
         UIAnimationElementVector2D temp12_Vector2DElements;
         temp12_Vector2DElements = new UIAnimationElementVector2D();
         temp12_Vector2DElements.FileRead(stream, stream.Position);
         _Vector2DElements.Add(temp12_Vector2DElements);
     }
     stream.Position = offset + 48;
     Field9 = stream.ReadValueS32();
     stream.Position = offset + 52;
     serAnimationDescriptions = new SerializeData();
     serAnimationDescriptions.FileRead(stream, stream.Position);
     stream.Position = offset + 60;
     //still checking variablearrays
     AnimationDescriptions = new List<UIAnimationDescription>();
     for(int i = 0; i < (int)(serAnimationDescriptions.Field1 / 536); i++)
     {
     stream.Position = serAnimationDescriptions.Field0 + 16 + (536*i) ;
         UIAnimationDescription temp12_AnimationDescriptions;
         temp12_AnimationDescriptions = new UIAnimationDescription();
         temp12_AnimationDescriptions.FileRead(stream, stream.Position);
         _AnimationDescriptions.Add(temp12_AnimationDescriptions);
     }
     stream.Position = offset + 64;
     Field12 = stream.ReadValueS32();
     stream.Position = offset + 68;
     serAnimationBindings = new SerializeData();
     serAnimationBindings.FileRead(stream, stream.Position);
     stream.Position = offset + 76;
     //still checking variablearrays
     AnimationBindings = new List<UIControlAnimationBinding>();
     for(int i = 0; i < (int)(serAnimationBindings.Field1 / 516); i++)
     {
     stream.Position = serAnimationBindings.Field0 + 16 + (516*i) ;
         UIControlAnimationBinding temp12_AnimationBindings;
         temp12_AnimationBindings = new UIControlAnimationBinding();
         temp12_AnimationBindings.FileRead(stream, stream.Position);
         _AnimationBindings.Add(temp12_AnimationBindings);
     }
 }