コード例 #1
0
        protected override bool OnUpdate(float deltaTime)
        {
            elapsed_ += deltaTime;

            var p = 1f;

            if (duration_ > 0)
            {
                p = Mathf.Clamp01(elapsed_ / duration_);
            }

            var easedP   = (easing_ != null) ? easing_(p) : Easings.QuadInOut(p);
            var curValue = Lerp(startValue_, finalValue_, easedP);

            UpdateValue(curValue);

            return(p >= 1f);
        }
コード例 #2
0
        protected override bool OnUpdate(float deltaTime)
        {
            if (duration_ <= 0f || vibrato_ <= 0f)
            {
                return(true);
            }

            elapsed_ += deltaTime;

            var p      = Mathf.Clamp01(elapsed_ / duration_);
            var easedP = (easing_ != null) ? easing_(p) : Easings.QuadOut(p);

            var curStrength = strength_ * (1 - easedP);
            var height      = Mathf.Sin(vibrato_ * easedP * Mathf.PI);
            var iteration   = (int)(vibrato_ * easedP);
            var dir         = new Vector3(dirX_[iteration % dirX_.Length], dirY_[iteration % dirY_.Length], dirZ_[iteration % dirZ_.Length]);

            curStrength.x *= dir.x * height;
            curStrength.y *= dir.y * height;
            curStrength.z *= dir.z * height;

            UpdateValue(baseValue_ + curStrength);
            return(p >= 1f);
        }