CharTweener icon indicating copy to clipboard operation
CharTweener copied to clipboard

VertexGradientPlugin Error in Unity 2018.4.5

Open smkplus opened this issue 5 years ago • 7 comments

image

Assets/CharTween/Scripts/VertexGradientPlugin.cs(14,18): error CS0534: `CharTween.VertexGradientPlugin' does not implement inherited abstract member `DG.Tweening.Plugins.Core.ABSTweenPlugin<TMPro.VertexGradient,TMPro.VertexGradient,DG.Tweening.Plugins.Options.NoOptions>.SetFrom(DG.Tweening.Core.TweenerCore<TMPro.VertexGradient,TMPro.VertexGradient,DG.Tweening.Plugins.Options.NoOptions>, TMPro.VertexGradient, bool)'

smkplus avatar Jan 26 '20 11:01 smkplus

Adding the following code in the VertexGradientPlugin class, fixed it for me

public override void SetFrom(TweenerCore<VertexGradient, VertexGradient, NoOptions> t, VertexGradient vg, bool isRelative)
        {
            var prevEndVal = t.endValue;
            t.endValue = t.getter();
            t.startValue = isRelative ? Add(t.endValue, prevEndVal) : prevEndVal;
            t.startValue = prevEndVal;
            t.setter(t.startValue);
        }

archgame avatar Apr 21 '20 20:04 archgame

Did not work for me and the latest version of CharTweener gives me this error too. I am running 2019.4.4f1 Getting error:

Assets\CharTween\Scripts\VertexGradientPlugin.cs(14,18): error CS0534: 'VertexGradientPlugin' does not implement inherited abstract member 'ABSTweenPlugin<VertexGradient, VertexGradient, NoOptions>.SetFrom(TweenerCore<VertexGradient, VertexGradient, NoOptions>, VertexGradient, bool, bool)'

LiquidSebbey avatar Sep 29 '20 13:09 LiquidSebbey

Try:

public override void SetFrom(TweenerCore<VertexGradient, VertexGradient, NoOptions> t, VertexGradient vg, bool setImmediately, bool isRelative) { var prevEndVal = t.endValue; t.endValue = t.getter(); t.startValue = isRelative ? Add(t.endValue, prevEndVal) : prevEndVal; t.startValue = prevEndVal; t.setter(t.startValue); }

I don't have any idea what the bool "setImmediately" will or won't do in this case, but it will at least get rid of that error and allow you to use CharTweener.

alexpdaniel avatar Oct 03 '20 02:10 alexpdaniel

For me it worked by adding the following:

        public override void SetFrom(TweenerCore<VertexGradient, VertexGradient, NoOptions> t, VertexGradient vg, bool  setImmediately, bool isRelative)
        {
            var prevEndVal = t.endValue;
            t.endValue = t.getter();
            t.startValue = isRelative ? Add(t.endValue, prevEndVal) : prevEndVal;
            t.startValue = prevEndVal;
            t.setter(t.startValue);
        }

        public override void SetFrom(TweenerCore<VertexGradient, VertexGradient, NoOptions> t, bool isRelative)
        {
            var prevEndVal = t.endValue;
            t.endValue = t.getter();
            t.startValue = isRelative ? Add(t.endValue, prevEndVal) : prevEndVal;
            t.startValue = prevEndVal;
            t.setter(t.startValue);
        }

Lir10 avatar Nov 24 '20 16:11 Lir10

is this being fixed unity 2019.4.19 has the same error

jomarcenter-mjm avatar Apr 06 '21 04:04 jomarcenter-mjm

For me it worked by adding the following:

        public override void SetFrom(TweenerCore<VertexGradient, VertexGradient, NoOptions> t, VertexGradient vg, bool  setImmediately, bool isRelative)
        {
            var prevEndVal = t.endValue;
            t.endValue = t.getter();
            t.startValue = isRelative ? Add(t.endValue, prevEndVal) : prevEndVal;
            t.startValue = prevEndVal;
            t.setter(t.startValue);
        }

        public override void SetFrom(TweenerCore<VertexGradient, VertexGradient, NoOptions> t, bool isRelative)
        {
            var prevEndVal = t.endValue;
            t.endValue = t.getter();
            t.startValue = isRelative ? Add(t.endValue, prevEndVal) : prevEndVal;
            t.startValue = prevEndVal;
            t.setter(t.startValue);
        }

Thanks! This fixes the issue for me in Unity 2020.3.3f

RuolinZheng08 avatar Jun 24 '21 20:06 RuolinZheng08

I was having this same issue but what I did was delete the Evaluate and Apply function then added this code in on line 93:

public override void EvaluateAndApply(NoOptions options, Tween t, bool isRelative, DOGetter<VertexGradient> getter, DOSetter<VertexGradient> setter, float elapsed, VertexGradient startValue, VertexGradient changeValue, float duration, bool usingInversePosition, int newCompletedSteps, UpdateNotice updateNotice) { throw new System.NotImplementedException(); }

This seemed to work for me in Unity Version 2021.3.8f1 The others did not work

NathanOnUnity avatar Dec 30 '23 13:12 NathanOnUnity