public AnimationClipLayout(LayoutInfo info)
 {
     FloatCurve      = new FloatCurveLayout(info);
     PPtrCurve       = new PPtrCurveLayout(info);
     QuaternionCurve = new QuaternionCurveLayout(info);
     Vector3Curve    = new Vector3CurveLayout(info);
 }
示例#2
0
        public YAMLNode ExportYAML(IExportContainer container)
        {
            YAMLMappingNode  node   = new YAMLMappingNode();
            FloatCurveLayout layout = container.ExportLayout.AnimationClip.FloatCurve;

            node.Add(layout.CurveName, Curve.ExportYAML(container));
            node.Add(layout.AttributeName, Attribute);
            node.Add(layout.PathName, Path);
            node.Add(layout.ClassIDName, (int)ClassID);
            node.Add(layout.ScriptName, Script.ExportYAML(container));
            return(node);
        }
示例#3
0
        public void Write(AssetWriter writer)
        {
            FloatCurveLayout layout = writer.Layout.AnimationClip.FloatCurve;

            Curve.Write(writer);
            writer.Write(Attribute);
            writer.Write(Path);
            writer.Write((int)ClassID);
            if (layout.HasScript)
            {
                Script.Write(writer);
            }
        }
示例#4
0
        public void Read(AssetReader reader)
        {
            FloatCurveLayout layout = reader.Layout.AnimationClip.FloatCurve;

            Curve.Read(reader);
            Attribute = reader.ReadString();
            Path      = reader.ReadString();
            ClassID   = (ClassIDType)reader.ReadInt32();
            if (layout.HasScript)
            {
                Script.Read(reader);
            }
        }
示例#5
0
        private static void GenerateEngineCurve(TypeTreeContext context, SerializableType origin, string name)
        {
            switch (origin.Name)
            {
            case SerializableType.FloatCurveName:
                FloatCurveLayout.GenerateTypeTree(context, name);
                break;

            case SerializableType.Vector3CurveName:
                Vector3CurveLayout.GenerateTypeTree(context, name);
                break;

            case SerializableType.QuaternionCurveName:
                QuaternionCurveLayout.GenerateTypeTree(context, name);
                break;

            case SerializableType.PPtrCurveName:
                PPtrCurveLayout.GenerateTypeTree(context, name);
                break;

            default:
                throw new Exception($"Unknown engine curve {origin.Name}");
            }
        }
示例#6
0
        public IEnumerable <PPtr <Object> > FetchDependencies(DependencyContext context)
        {
            FloatCurveLayout layout = context.Layout.AnimationClip.FloatCurve;

            yield return(context.FetchDependency(Script, layout.ScriptName));
        }