예제 #1
0
        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();
            }
        }
예제 #2
0
        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();
            }
        }