Exemplo n.º 1
0
        public void Read(AssetReader reader)
        {
            DeltaPose.Read(reader);
            StartX.Read(reader);
            if (IsReadStopX(reader.Version))
            {
                StopX.Read(reader);
            }
            LeftFootStartX.Read(reader);
            RightFootStartX.Read(reader);

            if (IsReadMotion(reader.Version))
            {
                MotionStartX.Read(reader);
                MotionStopX.Read(reader);
            }

            if (IsVector3(reader.Version))
            {
                AverageSpeed.Read3(reader);
            }
            else
            {
                AverageSpeed.Read(reader);
            }

            Clip.Read(reader);

            StartTime          = reader.ReadSingle();
            StopTime           = reader.ReadSingle();
            OrientationOffsetY = reader.ReadSingle();
            Level               = reader.ReadSingle();
            CycleOffset         = reader.ReadSingle();
            AverageAngularSpeed = reader.ReadSingle();

            m_indexArray = reader.ReadInt32Array();
            if (IsReadAdditionalCurveIndexArray(reader.Version))
            {
                m_additionalCurveIndexArray = reader.ReadInt32Array();
            }
            m_valueArrayDelta = reader.ReadArray <ValueDelta>();

            if (IsReadValueArrayReferencePose(reader.Version))
            {
                m_valueArrayReferencePose = reader.ReadSingleArray();
            }

            Mirror = reader.ReadBoolean();
            if (IsReadLoopTime(reader.Version))
            {
                LoopTime = reader.ReadBoolean();
            }
            LoopBlend            = reader.ReadBoolean();
            LoopBlendOrientation = reader.ReadBoolean();
            LoopBlendPositionY   = reader.ReadBoolean();
            LoopBlendPositionXZ  = reader.ReadBoolean();

            if (IsReadStartAtOrigin(reader.Version))
            {
                StartAtOrigin = reader.ReadBoolean();
            }

            KeepOriginalOrientation = reader.ReadBoolean();
            KeepOriginalPositionY   = reader.ReadBoolean();
            KeepOriginalPositionXZ  = reader.ReadBoolean();
            HeightFromFeet          = reader.ReadBoolean();
            reader.AlignStream(AlignType.Align4);
        }
Exemplo n.º 2
0
        public void Read(EndianStream stream)
        {
            DeltaPose.Read(stream);
            StartX.Read(stream);
            if (IsReadStopX)
            {
                StopX.Read(stream);
            }
            LeftFootStartX.Read(stream);
            RightFootStartX.Read(stream);

            if (IsReadMotion)
            {
                MotionStartX.Read(stream);
                MotionStopX.Read(stream);
            }

            if (IsVector3)
            {
                AverageSpeed3.Read(stream);
            }
            else
            {
                AverageSpeed4.Read(stream);
            }

            Clip.Read(stream);

            StartTime          = stream.ReadSingle();
            StopTime           = stream.ReadSingle();
            OrientationOffsetY = stream.ReadSingle();
            Level               = stream.ReadSingle();
            CycleOffset         = stream.ReadSingle();
            AverageAngularSpeed = stream.ReadSingle();

            m_indexArray      = stream.ReadInt32Array();
            m_valueArrayDelta = stream.ReadArray <ValueDelta>();

            if (IsReadValueArrayReferencePose)
            {
                m_valueArrayReferencePose = stream.ReadSingleArray();
            }

            Mirror               = stream.ReadBoolean();
            LoopTime             = stream.ReadBoolean();
            LoopBlend            = stream.ReadBoolean();
            LoopBlendOrientation = stream.ReadBoolean();
            LoopBlendPositionY   = stream.ReadBoolean();
            LoopBlendPositionXZ  = stream.ReadBoolean();

            if (IsReadStartAtOrigin)
            {
                StartAtOrigin = stream.ReadBoolean();
            }

            KeepOriginalOrientation = stream.ReadBoolean();
            KeepOriginalPositionY   = stream.ReadBoolean();
            KeepOriginalPositionXZ  = stream.ReadBoolean();
            HeightFromFeet          = stream.ReadBoolean();

            stream.AlignStream(AlignType.Align4);
        }