public virtual void CrossFadeColor(Color targetColor, float duration, bool ignoreTimeScale, bool useAlpha, bool useRGB) { if (canvasRenderer == null || (!useRGB && !useAlpha)) { return; } Color currentColor = canvasRenderer.GetColor(); if (currentColor.Equals(targetColor)) { m_ColorTweenRunner.StopTween(); return; } ColorTween.ColorTweenMode mode = (useRGB && useAlpha ? ColorTween.ColorTweenMode.All : (useRGB ? ColorTween.ColorTweenMode.RGB : ColorTween.ColorTweenMode.Alpha)); var colorTween = new ColorTween { duration = duration, startColor = canvasRenderer.GetColor(), targetColor = targetColor }; colorTween.AddOnChangedCallback(canvasRenderer.SetColor); colorTween.ignoreTimeScale = ignoreTimeScale; colorTween.tweenMode = mode; m_ColorTweenRunner.StartTween(colorTween); }
public virtual void CrossFadeColor(Color targetColor, float duration, bool ignoreTimeScale, bool useAlpha, bool useRGB) { if (!(canvasRenderer == null) && (useRGB || useAlpha)) { if (canvasRenderer.GetColor().Equals(targetColor)) { m_ColorTweenRunner.StopTween(); return; } ColorTween.ColorTweenMode tweenMode = (!useRGB || !useAlpha) ? (useRGB ? ColorTween.ColorTweenMode.RGB : ColorTween.ColorTweenMode.Alpha) : ColorTween.ColorTweenMode.All; ColorTween colorTween = default(ColorTween); colorTween.duration = duration; colorTween.startColor = canvasRenderer.GetColor(); colorTween.targetColor = targetColor; ColorTween info = colorTween; info.AddOnChangedCallback(canvasRenderer.SetColor); info.ignoreTimeScale = ignoreTimeScale; info.tweenMode = tweenMode; m_ColorTweenRunner.StartTween(info); } }