internal static Color AddGradient(ChromaEventData.GradientObjectData gradientObject, BeatmapEventType id, float time) { CancelGradient(id); float duration = gradientObject.Duration; Color initcolor = gradientObject.StartColor; Color endcolor = gradientObject.EndColor; Functions easing = gradientObject.Easing; ChromaGradientEvent gradientEvent = new ChromaGradientEvent(initcolor, endcolor, time, duration, id, easing); Instance.Gradients[id] = gradientEvent; return(gradientEvent.Interpolate()); }
internal static Color AddGradient(dynamic gradientObject, BeatmapEventType id, float time) { CancelGradient(id); float duration = (float)Trees.at(gradientObject, DURATION); Color initcolor = ChromaUtils.GetColorFromData(gradientObject, STARTCOLOR); Color endcolor = ChromaUtils.GetColorFromData(gradientObject, ENDCOLOR); string easingstring = (string)Trees.at(gradientObject, EASING); Functions easing; if (string.IsNullOrEmpty(easingstring)) { easing = Functions.easeLinear; } else { easing = (Functions)Enum.Parse(typeof(Functions), easingstring); } ChromaGradientEvent gradientEvent = new ChromaGradientEvent(initcolor, endcolor, time, duration, id, easing); Instance.Gradients[id] = gradientEvent; return(gradientEvent.Interpolate()); }