bool IsInterpolatorIsEmpty(NovaFloatInterpolator interpolator) { for (int index = 0; index < interpolator.Datas.Length - 1; index++) { if (interpolator.Datas[index].Value != interpolator.Datas[index + 1].Value) { return(false); } } return(true); }
bool DumpInterpolator(string name, string property, NovaFloatInterpolator interpolator, NovaScene scene, List <BabylonAnimation> animations, float mult = 1.0f) { if (interpolator.Ready && !IsInterpolatorIsEmpty(interpolator)) { var fps = scene.AnimationFramerate < 1 ? 30 : scene.AnimationFramerate; var babylonAnimation = new BabylonAnimation { name = name, property = property, dataType = BabylonAnimation.DataType.Float, framePerSecond = fps }; babylonAnimation.keys = interpolator.Datas.Select(value => new BabylonAnimationKey { frame = value.Key / scene.AnimationKeyStep, values = new[] { value.Value *mult } }).ToArray(); babylonAnimation.loopBehavior = interpolator.LoopAfter; animations.Add(babylonAnimation); return(true); } return(false); }
bool DumpInterpolator(string name, string property, NovaFloatInterpolator interpolator, NovaScene scene, List<BabylonAnimation> animations, float mult = 1.0f) { if (interpolator.Ready && !IsInterpolatorIsEmpty(interpolator)) { var fps = scene.AnimationFramerate < 1 ? 30 : scene.AnimationFramerate; var babylonAnimation = new BabylonAnimation { name = name, property = property, dataType = BabylonAnimation.DataType.Float, framePerSecond = fps }; babylonAnimation.keys = interpolator.Datas.Select(value => new BabylonAnimationKey { frame = value.Key / scene.AnimationKeyStep, values = new[] { value.Value * mult } }).ToArray(); babylonAnimation.loopBehavior = interpolator.LoopAfter; animations.Add(babylonAnimation); return true; } return false; }
bool IsInterpolatorIsEmpty(NovaFloatInterpolator interpolator) { for (int index = 0; index < interpolator.Datas.Length - 1; index++) { if (interpolator.Datas[index].Value != interpolator.Datas[index + 1].Value) { return false; } } return true; }