protected override YAMLMappingNode ExportYAMLRoot(IExportContainer container) { #warning TODO: values acording to read version (current 2017.3.0f3) YAMLMappingNode node = base.ExportYAMLRoot(container); node.AddSerializedVersion(GetSerializedVersion(container.Version)); node.Add("m_Legacy", GetIsLegacy(container.Version)); node.Add("m_Compressed", Compressed); node.Add("m_UseHighQualityCurve", UseHightQualityCurve); AnimationCurves curves = GetAnimationCurves(container.Version, container.Platform); node.Add("m_RotationCurves", curves.RotationCurves.ExportYAML(container)); node.Add("m_CompressedRotationCurves", curves.RotationCurves.ExportYAML(container)); node.Add("m_EulerCurves", curves.EulerCurves.ExportYAML(container)); node.Add("m_PositionCurves", curves.PositionCurves.ExportYAML(container)); node.Add("m_ScaleCurves", curves.ScaleCurves.ExportYAML(container)); node.Add("m_FloatCurves", curves.FloatCurves.ExportYAML(container)); node.Add("m_PPtrCurves", curves.PPtrCurves.ExportYAML(container)); node.Add("m_SampleRate", SampleRate); node.Add("m_WrapMode", (int)WrapMode); node.Add("m_Bounds", Bounds.ExportYAML(container)); node.Add("m_ClipBindingConstant", ClipBindingConstant.ExportYAML(container)); node.Add("m_AnimationClipSettings", MuscleClip.ExportYAML(container)); node.Add("m_EditorCurves", YAMLSequenceNode.Empty); node.Add("m_EulerEditorCurves", YAMLSequenceNode.Empty); node.Add("m_HasGenericRootTransform", false); node.Add("m_HasMotionFloatCurves", false); node.Add("m_GenerateMotionCurves", false); node.Add("m_Events", IsReadEvents(container.Version) ? m_events.ExportYAML(container) : YAMLSequenceNode.Empty); return(node); }
protected override YAMLMappingNode ExportYAMLRoot(IExportContainer container) { YAMLMappingNode node = base.ExportYAMLRoot(container); node.AddSerializedVersion(GetSerializedVersion(container.ExportVersion)); node.Add(LegacyName, GetLegacy(container.Version)); node.Add(CompressedName, Compressed); node.Add(UseHighQualityCurveName, UseHightQualityCurve); AnimationCurves curves = GetAnimationCurves(container.Version, container.Platform); node.Add(RotationCurvesName, curves.RotationCurves.ExportYAML(container)); node.Add(CompressedRotationCurvesName, curves.CompressedRotationCurves.ExportYAML(container)); node.Add(EulerCurvesName, curves.EulerCurves.ExportYAML(container)); node.Add(PositionCurvesName, curves.PositionCurves.ExportYAML(container)); node.Add(ScaleCurvesName, curves.ScaleCurves.ExportYAML(container)); node.Add(FloatCurvesName, curves.FloatCurves.ExportYAML(container)); node.Add(PPtrCurvesName, curves.PPtrCurves.ExportYAML(container)); node.Add(SampleRateName, SampleRate); node.Add(WrapModeName, (int)WrapMode); node.Add(BoundsName, Bounds.ExportYAML(container)); node.Add(ClipBindingConstantName, GetClipBindingConstant(container.Version).ExportYAML(container)); node.Add(AnimationClipSettingsName, MuscleClip.ExportYAML(container)); node.Add(EditorCurvesName, YAMLSequenceNode.Empty); node.Add(EulerEditorCurvesName, YAMLSequenceNode.Empty); node.Add(HasGenericRootTransformName, HasGenericRootTransform); node.Add(HasMotionFloatCurvesName, HasMotionFloatCurves); node.Add(GenerateMotionCurvesName, false); node.Add(EventsName, IsReadEvents(container.Version) ? m_events.ExportYAML(container) : YAMLSequenceNode.Empty); return(node); }
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); }
protected override YAMLMappingNode ExportYAMLRoot() { YAMLMappingNode node = base.ExportYAMLRoot(); node.AddSerializedVersion(SerializedVersion); node.Add("m_Legacy", IsReadAnimationType ? true : Legacy); node.Add("m_Compressed", Compressed); node.Add("m_UseHighQualityCurve", UseHightQualityCurve); if (IsExportGenericData) { ExportGenericData(node); } else { node.Add("m_RotationCurves", m_rotationCurves.ExportYAML()); node.Add("m_CompressedRotationCurves", m_compressedRotationCurves.ExportYAML()); if (IsReadEulerCurves) { node.Add("m_EulerCurves", m_eulerCurves.ExportYAML()); } else { node.Add("m_EulerCurves", YAMLMappingNode.Empty); } node.Add("m_PositionCurves", m_positionCurves.ExportYAML()); node.Add("m_ScaleCurves", m_scaleCurves.ExportYAML()); node.Add("m_FloatCurves", m_floatCurves.ExportYAML()); } node.Add("m_PPtrCurves", m_PPtrCurves.ExportYAML()); node.Add("m_SampleRate", SampleRate); node.Add("m_WrapMode", WrapMode); node.Add("m_Bounds", Bounds.ExportYAML()); node.Add("m_ClipBindingConstant", ClipBindingConstant.ExportYAML()); node.Add("m_AnimationClipSettings", MuscleClip.ExportYAML()); node.Add("m_EditorCurves", YAMLSequenceNode.Empty); node.Add("m_EulerEditorCurves", YAMLSequenceNode.Empty); node.Add("m_HasGenericRootTransform", false); node.Add("m_HasMotionFloatCurves", false); node.Add("m_GenerateMotionCurves", false); node.Add("m_Events", m_events.ExportYAML()); return(node); }
protected override YAMLMappingNode ExportYAMLRoot(IAssetsExporter exporter) { #warning TODO: values acording to read version (current 2017.3.0f3) YAMLMappingNode node = base.ExportYAMLRoot(exporter); node.AddSerializedVersion(GetSerializedVersion(exporter.Version)); node.Add("m_Legacy", IsReadLegacy(exporter.Version) ? Legacy : true); node.Add("m_Compressed", Compressed); node.Add("m_UseHighQualityCurve", UseHightQualityCurve); if (IsExportGenericData(exporter.Version)) { ExportGenericData(exporter, node); } else { node.Add("m_RotationCurves", IsReadCurves(exporter.Version) ? m_rotationCurves.ExportYAML(exporter) : YAMLSequenceNode.Empty); node.Add("m_CompressedRotationCurves", IsReadCompressedRotationCurves(exporter.Version) ? m_compressedRotationCurves.ExportYAML(exporter) : YAMLSequenceNode.Empty); node.Add("m_EulerCurves", IsReadEulerCurves(exporter.Version) ? m_eulerCurves.ExportYAML(exporter) : YAMLSequenceNode.Empty); node.Add("m_PositionCurves", IsReadCurves(exporter.Version) ? m_positionCurves.ExportYAML(exporter) : YAMLSequenceNode.Empty); node.Add("m_ScaleCurves", IsReadCurves(exporter.Version) ? m_scaleCurves.ExportYAML(exporter) : YAMLSequenceNode.Empty); node.Add("m_FloatCurves", IsReadCurves(exporter.Version) ? m_floatCurves.ExportYAML(exporter) : YAMLSequenceNode.Empty); } node.Add("m_PPtrCurves", IsReadPPtrCurves(exporter.Version) ? m_PPtrCurves.ExportYAML(exporter) : YAMLSequenceNode.Empty); node.Add("m_SampleRate", SampleRate); node.Add("m_WrapMode", (int)WrapMode); node.Add("m_Bounds", Bounds.ExportYAML(exporter)); node.Add("m_ClipBindingConstant", ClipBindingConstant.ExportYAML(exporter)); node.Add("m_AnimationClipSettings", MuscleClip.ExportYAML(exporter)); node.Add("m_EditorCurves", YAMLSequenceNode.Empty); node.Add("m_EulerEditorCurves", YAMLSequenceNode.Empty); node.Add("m_HasGenericRootTransform", false); node.Add("m_HasMotionFloatCurves", false); node.Add("m_GenerateMotionCurves", false); node.Add("m_Events", IsReadEvents(exporter.Version) ? m_events.ExportYAML(exporter) : YAMLSequenceNode.Empty); return(node); }
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); } }