/// <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; } }
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); }