public override void Parse(GameBitBuffer buffer)
 {
     Field0 = buffer.ReadInt(32);
     TriggerConditions = new TriggerConditions();
     TriggerConditions.Parse(buffer);
     Field2 = buffer.ReadInt(32);
     Field3 = new SNOName();
     Field3.Parse(buffer);
     Field4 = buffer.ReadInt(32);
     Field5 = buffer.ReadInt(32);
     HardPointLinks = new HardpointLink[2];
     for(int i = 0;i < _HardPointLinks.Length;i++)
     {
         _HardPointLinks[i] = new HardpointLink();
         _HardPointLinks[i].Parse(buffer);
     }
     LookLink = new LookLink();
     LookLink.Parse(buffer);
     ConstraintLink = new ConstraintLink();
     ConstraintLink.Parse(buffer);
     Field9 = buffer.ReadInt(32);
     Field10 = buffer.ReadFloat32();
     Field11 = buffer.ReadInt(32);
     Field12 = buffer.ReadInt(32);
     Field13 = buffer.ReadInt(32);
     Field14 = buffer.ReadInt(32);
     Field15 = buffer.ReadInt(32);
     Field16 = buffer.ReadFloat32();
     Field17 = buffer.ReadFloat32();
     Field18 = buffer.ReadInt(32);
     Field19 = buffer.ReadInt(32);
     Field20 = buffer.ReadFloat32();
     Field21 = buffer.ReadInt(32);
     Velocity = buffer.ReadFloat32();
     Ticks1 = buffer.ReadInt(32);
     RuneType = buffer.ReadInt(32);
     UseRuneType = buffer.ReadInt(32);
     Color1 = new RGBAColor();
     Color1.Parse(buffer);
     Field27 = buffer.ReadInt(32);
     Color2 = new RGBAColor();
     Color2.Parse(buffer);
     Field29 = buffer.ReadInt(32);
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Field0 = stream.ReadValueS32();
     stream.Position = offset + 4;
     TriggerConditions = new TriggerConditions();
     TriggerConditions.FileRead(stream, stream.Position);
     stream.Position = offset + 40;
     Field2 = stream.ReadValueS32();
     stream.Position = offset + 44;
     Field3 = new SNOName();
     Field3.FileRead(stream, stream.Position);
     stream.Position = offset + 52;
     Field4 = stream.ReadValueS32();
     stream.Position = offset + 56;
     Field5 = stream.ReadValueS32();
     stream.Position = offset + 68;
     HardPointLinks = new HardpointLink[2];
     for(int loop12=0; loop12 < 2; loop12++ )
     {
         HardpointLink temp12_HardPointLinks;
         temp12_HardPointLinks = new HardpointLink();
         temp12_HardPointLinks.FileRead(stream, stream.Position);
         _HardPointLinks[loop12] = temp12_HardPointLinks;
     }
     stream.Position = offset + 204;
     LookLink = new LookLink();
     LookLink.FileRead(stream, stream.Position);
     stream.Position = offset + 268;
     ConstraintLink = new ConstraintLink();
     ConstraintLink.FileRead(stream, stream.Position);
     stream.Position = offset + 332;
     Field9 = stream.ReadValueS32();
     stream.Position = offset + 336;
     Field10 = stream.ReadValueF32();
     stream.Position = offset + 340;
     Field11 = stream.ReadValueS32();
     stream.Position = offset + 344;
     Field12 = stream.ReadValueS32();
     stream.Position = offset + 348;
     Field13 = stream.ReadValueS32();
     stream.Position = offset + 352;
     Field14 = stream.ReadValueS32();
     stream.Position = offset + 356;
     Field15 = stream.ReadValueS32();
     stream.Position = offset + 360;
     Field16 = stream.ReadValueF32();
     stream.Position = offset + 364;
     Field17 = stream.ReadValueF32();
     stream.Position = offset + 384;
     Field18 = stream.ReadValueS32();
     stream.Position = offset + 368;
     Field19 = stream.ReadValueS32();
     stream.Position = offset + 372;
     Field20 = stream.ReadValueF32();
     stream.Position = offset + 376;
     Field21 = stream.ReadValueS32();
     stream.Position = offset + 380;
     Velocity = stream.ReadValueF32();
     stream.Position = offset + 388;
     Ticks1 = stream.ReadValueS32();
     stream.Position = offset + 60;
     RuneType = stream.ReadValueS32();
     stream.Position = offset + 64;
     UseRuneType = stream.ReadValueS32();
     stream.Position = offset + 392;
     Color1 = new RGBAColor();
     Color1.FileRead(stream, stream.Position);
     stream.Position = offset + 396;
     Field27 = stream.ReadValueS32();
     stream.Position = offset + 400;
     Color2 = new RGBAColor();
     Color2.FileRead(stream, stream.Position);
     stream.Position = offset + 404;
     Field29 = stream.ReadValueS32();
 }