public void Unpack(BinaryReader reader) { var numAnims = reader.ReadByte(); Bitfield = reader.ReadByte(); Bitfield2 = reader.ReadByte(); reader.AlignBoundary(); Anims.Unpack(reader, numAnims); if ((Bitfield2 & 1) != 0) { Velocity = reader.ReadVector3(); } if ((Bitfield2 & 2) != 0) { Omega = reader.ReadVector3(); } }
public void Unpack(BinaryReader reader) { var numAnims = reader.ReadByte(); Bitfield = reader.ReadByte(); Flags = (MotionDataFlags)reader.ReadByte(); reader.AlignBoundary(); Anims.Unpack(reader, numAnims); if ((Flags & MotionDataFlags.HasVelocity) != 0) { Velocity = reader.ReadVector3(); } if ((Flags & MotionDataFlags.HasOmega) != 0) { Omega = reader.ReadVector3(); } }