Exemple #1
0
        private void SetAnimationsData()
        {
            SceneData.Current.fps          = AnimationEngine.Instance.fps;
            SceneData.Current.startFrame   = AnimationEngine.Instance.StartFrame;
            SceneData.Current.endFrame     = AnimationEngine.Instance.EndFrame;
            SceneData.Current.currentFrame = AnimationEngine.Instance.CurrentFrame;

            foreach (AnimationSet animSet in AnimationEngine.Instance.GetAllAnimations().Values)
            {
                AnimationData animData = new AnimationData();
                Utils.GetTransformRelativePathTo(animSet.transform, rootTransform, out animData.objectPath);
                foreach (Curve curve in animSet.curves.Values)
                {
                    CurveData curveData = new CurveData
                    {
                        property = curve.property
                    };
                    foreach (AnimationKey key in curve.keys)
                    {
                        KeyframeData keyData = new KeyframeData
                        {
                            frame         = key.frame,
                            value         = key.value,
                            interpolation = key.interpolation
                        };
                        curveData.keyframes.Add(keyData);
                    }
                    animData.curves.Add(curveData);
                }
                SceneData.Current.animations.Add(animData);
            }
        }
Exemple #2
0
        public void FromBytes(byte[] buffer, ref int index)
        {
            property = (AnimatableProperty)Converter.GetInt(buffer, ref index);
            int count = Converter.GetInt(buffer, ref index);

            for (int i = 0; i < count; ++i)
            {
                KeyframeData keyframe = new KeyframeData();
                keyframe.FromBytes(buffer, ref index);
                keyframes.Add(keyframe);
            }
        }