Exemple #1
0
        public override void CrossFadeColor(Color targetColor, float duration, bool ignoreTimeScale, bool useAlpha, bool useRGB)
        {
            //if (EditorApplication.isPlayingOrWillChangePlaymode) return;

            if (_sc == null || (!useRGB && !useAlpha))
            {
                return;
            }

            Color currentColor = _sc.TintColor;

            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 = _sc.TintColor, targetColor = targetColor
            };

            colorTween.AddOnChangedCallback((c) => _sc.TintColor = c);
            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))
            {
                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);
        }
    //自身动画 color值变
    private void CrossFadeColor(Color startColor, Color targetColor, float duration, bool ignoreTimeScale, bool useAlpha, bool useRGB, UnityAction <Color> callback)
    {
        //if (startColor == null || (!useRGB && !useAlpha))
        //    return;

        if (!useRGB && !useAlpha)
        {
            return;
        }

        Color currentColor = startColor;

        if (currentColor.Equals(targetColor))
        {
            return;
        }

        ColorTween.ColorTweenMode mode = (useRGB && useAlpha ?
                                          ColorTween.ColorTweenMode.All :
                                          (useRGB ? ColorTween.ColorTweenMode.RGB : ColorTween.ColorTweenMode.Alpha));
        var colorTween = new ColorTween {
            duration = duration, startColor = startColor, targetColor = targetColor
        };

        colorTween.AddOnChangedCallback(callback);

        colorTween.ignoreTimeScale = ignoreTimeScale;
        colorTween.tweenMode       = mode;

        m_ColorTweenRunner.StartTween(colorTween);
    }
Exemple #4
0
 private void CrossFadeColor(Color targetColor, float duration, bool ignoreTimeScale, bool useAlpha, bool useRGB)
 {
     if (((this.canvasRenderer != null) && (useRGB || useAlpha)) && !this.canvasRenderer.GetColor().Equals(targetColor))
     {
         ColorTween.ColorTweenMode mode = (!useRGB || !useAlpha) ? (!useRGB ? ColorTween.ColorTweenMode.Alpha : ColorTween.ColorTweenMode.RGB) : ColorTween.ColorTweenMode.All;
         ColorTween info = new ColorTween {
             duration    = duration,
             startColor  = this.canvasRenderer.GetColor(),
             targetColor = targetColor
         };
         info.AddOnChangedCallback(new UnityAction <Color>(this.canvasRenderer.SetColor));
         info.ignoreTimeScale = ignoreTimeScale;
         info.tweenMode       = mode;
         this.m_ColorTweenRunner.StartTween(info);
     }
 }
Exemple #5
0
 private void CrossFadeColor(Color targetColor, float duration, bool ignoreTimeScale, bool useAlpha, bool useRGB)
 {
     if (!(canvasRenderer == null) && (useRGB || useAlpha) && !canvasRenderer.GetColor().Equals(targetColor))
     {
         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);
     }
 }
Exemple #6
0
        private void CrossFadeColor(Color targetColor, float duration, bool ignoreTimeScale, bool useAlpha, bool useRGB)
        {
            if ((UnityEngine.Object) this.canvasRenderer == (UnityEngine.Object)null || !useRGB && !useAlpha || this.canvasRenderer.GetColor().Equals((object)targetColor))
            {
                return;
            }
            ColorTween.ColorTweenMode colorTweenMode = !useRGB || !useAlpha ? (!useRGB ? ColorTween.ColorTweenMode.Alpha : ColorTween.ColorTweenMode.RGB) : ColorTween.ColorTweenMode.All;
            ColorTween info = new ColorTween()
            {
                duration = duration, startColor = this.canvasRenderer.GetColor(), targetColor = targetColor
            };

            info.AddOnChangedCallback(new UnityAction <Color>(this.canvasRenderer.SetColor));
            info.ignoreTimeScale = ignoreTimeScale;
            info.tweenMode       = colorTweenMode;
            this.m_ColorTweenRunner.StartTween(info);
        }
        public static TweenRunner <ColorTween> TweenColor(this MonoBehaviour mb, Material material, Color fromColor,
                                                          Color toColor, float duration, ColorTween.ColorTweenMode colorTweenMode = ColorTween.ColorTweenMode.All,
                                                          EaseType easeType = EaseType.Linear, bool ignoreTimeScale = false, UnityAction onCompleteCallback = null)
        {
            var colorTween = new ColorTween
            {
                startColor      = fromColor,
                targetColor     = toColor,
                duration        = duration,
                ignoreTimeScale = ignoreTimeScale
            };

            colorTween.AddOnChangedCallback(newColor => material.color = newColor);

            if (onCompleteCallback != null)
            {
                colorTween.AddOnCompleteCallback(onCompleteCallback);
            }

            var tweenRunner = new TweenRunner <ColorTween>();

            tweenRunner.Init(mb);
            tweenRunner.StartTween(colorTween, easeType);

            return(tweenRunner);
        }