/// <inheritdoc />
        public override void Refresh()
        {
            base.Refresh();

            var value = (Curve <T>)Values[0];

            if (value != null && !_curve.IsUserEditing && !Utils.ArraysEqual(value.Keyframes, _curve.Keyframes))
            {
                _isSetting = true;
                _curve.SetKeyframes(value.Keyframes);
                _isSetting = false;
            }
        }
Example #2
0
            private void UpdateCurveKeyframes()
            {
                var count     = (int)Values[0];
                var keyframes = new Curve <T> .Keyframe[count];

                for (int i = 0; i < count; i++)
                {
                    keyframes[i] = new Curve <T> .Keyframe
                    {
                        Time       = (float)Values[i * 4 + 1],
                        Value      = (T)Values[i * 4 + 2],
                        TangentIn  = (T)Values[i * 4 + 3],
                        TangentOut = (T)Values[i * 4 + 4],
                    };
                }
                _curve.SetKeyframes(keyframes);
            }