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);
        }
예제 #2
0
 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);
     }
 }