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); }
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); } }
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); } }
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); }