Exemplo n.º 1
0
        public void Start(EasingPattern pattern, float durationSec, float startValue, float endValue)
        {
            if (durationSec < 0.0f)
            {
                throw new InvalidProgramException("`durationSec` parameter must be positive value");
            }

            if (durationSec == 0.0f)
            {
                durationSec = 1.0f;
            }

            var funcMap = new Dictionary <EasingPattern, Func <float, float, float, float, float> >
            {
                { EasingPattern.Linear, RawEasing.Linear },
                { EasingPattern.SineIn, RawEasing.SineIn },
                { EasingPattern.SineOut, RawEasing.SineOut },
                { EasingPattern.SineInOut, RawEasing.SineInOut },
                { EasingPattern.QuadraticIn, RawEasing.QuadraticIn },
                { EasingPattern.QuadraticOut, RawEasing.QuadraticOut },
                { EasingPattern.QuadraticInOut, RawEasing.QuadraticInOut },
                { EasingPattern.CubicIn, RawEasing.CubicIn },
                { EasingPattern.CubicOut, RawEasing.CubicOut },
                { EasingPattern.CubicInOut, RawEasing.CubicInOut },
                { EasingPattern.QuarticIn, RawEasing.QuarticIn },
                { EasingPattern.QuarticOut, RawEasing.QuarticOut },
                { EasingPattern.QuarticInOut, RawEasing.QuarticInOut },
                { EasingPattern.QuinticIn, RawEasing.QuinticIn },
                { EasingPattern.QuinticOut, RawEasing.QuinticOut },
                { EasingPattern.QuinticInOut, RawEasing.QuinticInOut },
                { EasingPattern.ExponentialIn, RawEasing.ExponentialIn },
                { EasingPattern.ExponentialOut, RawEasing.ExponentialOut },
                { EasingPattern.ExponentialInOut, RawEasing.ExponentialInOut },
                { EasingPattern.CircularIn, RawEasing.CircularIn },
                { EasingPattern.CircularOut, RawEasing.CircularOut },
                { EasingPattern.CircularInOut, RawEasing.CircularInOut },
                { EasingPattern.BackIn, RawEasing.BackIn },
                { EasingPattern.BackOut, RawEasing.BackOut },
                { EasingPattern.BackInOut, RawEasing.BackInOut },
                { EasingPattern.ElasticIn, RawEasing.ElasticIn },
                { EasingPattern.ElasticOut, RawEasing.ElasticOut },
                { EasingPattern.ElasticInOut, RawEasing.ElasticInOut },
                { EasingPattern.BounceIn, RawEasing.BounceIn },
                { EasingPattern.BounceOut, RawEasing.BounceOut },
                { EasingPattern.BounceInOut, RawEasing.BounceInOut }
            };

            this.easingFunc     = funcMap[pattern];
            this.prevCurrentSec = 0.0f;
            this.currentSec     = 0.0f;
            this.durationSec    = durationSec;
            this.startValue     = startValue;
            this.endValue       = endValue;
            this.isPositive     = startValue < endValue;
        }
Exemplo n.º 2
0
 public void Start(EasingPattern pattern, float durationSec, Vector3 startValue, Vector3 endValue)
 {
     this.xposAnimation.Start(pattern, durationSec, startValue.x, endValue.x);
     this.yposAnimation.Start(pattern, durationSec, startValue.y, endValue.y);
     this.zposAnimation.Start(pattern, durationSec, startValue.z, endValue.z);
 }