public override void Parse(GameBitBuffer buffer)
 {
     Field0 = new RequiredMessageHeader();
     Field0.Parse(buffer);
     ActorID = buffer.ReadInt(32);
     Field2 = buffer.ReadInt(4);
     Field3 = buffer.ReadFloat32();
     tAnim = new PlayAnimationMessageSpec[buffer.ReadInt(2)];
     for(int i = 0;i < _tAnim.Length;i++)
     {
         _tAnim[i] = new PlayAnimationMessageSpec();
         _tAnim[i].Parse(buffer);
     }
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Field0 = new RequiredMessageHeader();
     Field0.FileRead(stream, stream.Position);
     stream.Position = offset + 8;
     ActorID = stream.ReadValueS32();
     stream.Position = offset + 12;
     _Field2 = stream.ReadValueS32();
     stream.Position = offset + 16;
     Field3 = stream.ReadValueF32();
     stream.Position = offset + 24;
     tAnim = new PlayAnimationMessageSpec[3];
     for(int loop12=0; loop12 < 3; loop12++ )
     {
         PlayAnimationMessageSpec temp12_tAnim;
         temp12_tAnim = new PlayAnimationMessageSpec();
         temp12_tAnim.FileRead(stream, stream.Position);
         _tAnim[loop12] = temp12_tAnim;
     }
 }