public override void Read(EndianStream stream) { base.Read(stream); if (IsReadAnimationType) { AnimationType = (AnimationType)stream.ReadInt32(); } else { Legacy = stream.ReadBoolean(); } Compressed = stream.ReadBoolean(); UseHightQualityCurve = stream.ReadBoolean(); stream.AlignStream(AlignType.Align4); m_rotationCurves = stream.ReadArray(() => new QuaternionCurve(AssetsFile)); m_compressedRotationCurves = stream.ReadArray <CompressedAnimationCurve>(); if (Compressed) { #warning TODO: decompress throw new NotImplementedException(); } if (IsReadEulerCurves) { m_eulerCurves = stream.ReadArray(() => new Vector3Curve(AssetsFile)); } m_positionCurves = stream.ReadArray(() => new Vector3Curve(AssetsFile)); m_scaleCurves = stream.ReadArray(() => new Vector3Curve(AssetsFile)); m_floatCurves = stream.ReadArray(() => new FloatCurve(AssetsFile)); m_PPtrCurves = stream.ReadArray(() => new PPtrCurve(AssetsFile)); SampleRate = stream.ReadSingle(); WrapMode = stream.ReadInt32(); Bounds.Read(stream); MuscleClipSize = stream.ReadUInt32(); MuscleClip.Read(stream); ClipBindingConstant.Read(stream); m_events = stream.ReadArray(() => new AnimationEvent(AssetsFile)); stream.AlignStream(AlignType.Align4); }
public override void Read(AssetStream stream) { base.Read(stream); if (IsReadClassIDToTrack(stream.Version)) { m_classIDToTrack = new Dictionary <int, PPtr <BaseAnimationTrack> >(); m_classIDToTrack.Read(stream); m_childTracks = stream.ReadArray <ChildTrack>(); } if (IsReadAnimationType(stream.Version)) { AnimationType = (AnimationType)stream.ReadInt32(); } if (IsReadLegacy(stream.Version)) { Legacy = stream.ReadBoolean(); } if (IsReadCompressed(stream.Version)) { Compressed = stream.ReadBoolean(); } if (IsReadUseHightQualityCurve(stream.Version)) { UseHightQualityCurve = stream.ReadBoolean(); } if (IsAlignCompressed(stream.Version)) { stream.AlignStream(AlignType.Align4); } if (IsReadCurves(stream.Version)) { m_rotationCurves = stream.ReadArray <QuaternionCurve>(); } if (IsReadCompressedRotationCurves(stream.Version)) { m_compressedRotationCurves = stream.ReadArray <CompressedAnimationCurve>(); } if (IsReadEulerCurves(stream.Version)) { m_eulerCurves = stream.ReadArray <Vector3Curve>(); } if (IsReadCurves(stream.Version)) { m_positionCurves = stream.ReadArray <Vector3Curve>(); m_scaleCurves = stream.ReadArray <Vector3Curve>(); m_floatCurves = stream.ReadArray <FloatCurve>(); } if (IsReadPPtrCurves(stream.Version)) { m_PPtrCurves = stream.ReadArray <PPtrCurve>(); } if (IsReadSampleRate(stream.Version)) { SampleRate = stream.ReadSingle(); } if (IsReadWrapMode(stream.Version)) { WrapMode = (WrapMode)stream.ReadInt32(); } if (IsReadBounds(stream.Version)) { Bounds.Read(stream); } if (IsReadMuscleClipSize(stream.Version)) { MuscleClipSize = stream.ReadUInt32(); MuscleClip.Read(stream); } if (IsReadClipBindingConstant(stream.Version)) { ClipBindingConstant.Read(stream); } if (IsReadEvents(stream.Version)) { m_events = stream.ReadArray <AnimationEvent>(); } if (IsAlign(stream.Version)) { stream.AlignStream(AlignType.Align4); } }