コード例 #1
0
        public YAMLNode ExportYAML(IExportContainer container)
        {
            YAMLMappingNode node = new YAMLMappingNode();

            node.AddSerializedVersion(ToSerializedVersion(container.ExportVersion));
            node.Add(AdditiveReferencePoseClipName, AdditiveReferencePoseClip.ExportYAML(container));
            node.Add(AdditiveReferencePoseTimeName, AdditiveReferencePoseTime);
            node.Add(StartTimeName, StartTime);
            node.Add(StopTimeName, StopTime);
            node.Add(OrientationOffsetYName, OrientationOffsetY);
            node.Add(LevelName, Level);
            node.Add(CycleOffsetName, CycleOffset);
            node.Add(HasAdditiveReferencePoseName, HasAdditiveReferencePose);
            node.Add(LoopTimeName, GetLoopTime(container.Version));
            node.Add(LoopBlendName, LoopBlend);
            node.Add(LoopBlendOrientationName, LoopBlendOrientation);
            node.Add(LoopBlendPositionYName, LoopBlendPositionY);
            node.Add(LoopBlendPositionXZName, LoopBlendPositionXZ);
            node.Add(KeepOriginalOrientationName, KeepOriginalOrientation);
            node.Add(KeepOriginalPositionYName, KeepOriginalPositionY);
            node.Add(KeepOriginalPositionXZName, KeepOriginalPositionXZ);
            node.Add(HeightFromFeetName, HeightFromFeet);
            node.Add(MirrorName, Mirror);
            return(node);
        }
コード例 #2
0
 public void Read(AssetReader reader)
 {
     if (HasAdditiveReferencePoseClip(reader.Version))
     {
         AdditiveReferencePoseClip.Read(reader);
         AdditiveReferencePoseTime = reader.ReadSingle();
     }
     StartTime          = reader.ReadSingle();
     StopTime           = reader.ReadSingle();
     OrientationOffsetY = reader.ReadSingle();
     Level       = reader.ReadSingle();
     CycleOffset = reader.ReadSingle();
     if (HasHasAdditiveReferencePose(reader.Version))
     {
         HasAdditiveReferencePose = reader.ReadBoolean();
     }
     if (HasLoopTime(reader.Version))
     {
         LoopTime = reader.ReadBoolean();
     }
     LoopBlend               = reader.ReadBoolean();
     LoopBlendOrientation    = reader.ReadBoolean();
     LoopBlendPositionY      = reader.ReadBoolean();
     LoopBlendPositionXZ     = reader.ReadBoolean();
     KeepOriginalOrientation = reader.ReadBoolean();
     KeepOriginalPositionY   = reader.ReadBoolean();
     KeepOriginalPositionXZ  = reader.ReadBoolean();
     HeightFromFeet          = reader.ReadBoolean();
     Mirror = reader.ReadBoolean();
     if (HasKeepAdditionalBonesAnimation(reader.Version))
     {
         KeepAdditionalBonesAnimation = reader.ReadBoolean();
     }
     reader.AlignStream();
 }
コード例 #3
0
 public IEnumerable <Object> FetchDependencies(ISerializedFile file, bool isLog = false)
 {
     if (IsReadAdditiveReferencePoseClip(file.Version))
     {
         yield return(AdditiveReferencePoseClip.FetchDependency(file, isLog, () => nameof(AnimationClipSettings), AdditiveReferencePoseClipName));
     }
 }