Ease() public static method

public static Ease ( EaseType type ) : Function,
type EaseType
return Function,
Exemplo n.º 1
0
    private void Update()
    {
        //Debug.LogError(particles.system.isPlaying);
        if (Input.GetKeyDown(KeyCode.K))
        {
            IsPause = false;
        }
        if (Input.GetKeyDown(KeyCode.J))
        {
            IsPause = true;
        }
        //if (isPause)
        //    particles.system.Pause(true);
        //else
        //    particles.system.Play(true);

        Duration += Time.deltaTime;

        this.transform.position = Interpolate.Ease(Interpolate.Ease(Interpolate.EaseType.Linear), this.origin, _target, Duration, 3f);

        //if ( CCollision.CircleCollision(new InfoEntity() { Position = this.gameObject.transform.position, BodyBlock = Vector3.one / 2 },
        //    new InfoEntity() { Position = this.target.position, BodyBlock = Vector3.one / 2}) )
        //{
        //    Debug.LogError("Collsion is detected");
        //}
        if (IsPause)
        {
            return;
        }

        //if (sequence.MoveNext())
        //    this.transform.position = sequence.Current;
    }
    IEnumerator FlashAnimation(int first, int middle, int last, float sprayTime, float wipeTime)
    {
        var t = 0f;

        while (t < sprayTime)
        {
            t += Time.deltaTime;
            Slices[first].transform.localScale  = new Vector3(Interpolate.Ease(Interpolate.EaseType.Linear)(0, 1, t, sprayTime), Interpolate.Ease(Interpolate.EaseType.Linear)(0, 1, t, sprayTime));
            Slices[middle].transform.localScale = new Vector3(Interpolate.Ease(Interpolate.EaseType.EaseOutSine)(0, 1, t, sprayTime), Interpolate.Ease(Interpolate.EaseType.EaseOutSine)(0, 1, t, sprayTime));
            Slices[last].transform.localScale   = new Vector3(Interpolate.Ease(Interpolate.EaseType.Linear)(0, 1, t, sprayTime), Interpolate.Ease(Interpolate.EaseType.Linear)(0, 1, t, sprayTime));
            yield return(new WaitForEndOfFrame());
        }
        t = 0f;
        while (t < wipeTime)
        {
            t += Time.deltaTime;
            Slices[first].fillAmount          = Interpolate.Ease(Interpolate.EaseType.EaseOutSine)(0.051f, -0.051f, t, wipeTime);
            Slices[middle].fillAmount         = Interpolate.Ease(Interpolate.EaseType.EaseInSine)(0.051f, -0.051f, t, wipeTime);
            Slices[last].fillAmount           = Interpolate.Ease(Interpolate.EaseType.EaseOutSine)(0.051f, -0.051f, t, wipeTime);
            Slices[first].transform.rotation  = Quaternion.Euler(0, 0, Interpolate.Ease(Interpolate.EaseType.EaseOutSine)(-45 + 18 * first, 9, t, wipeTime));
            Slices[middle].transform.rotation = Quaternion.Euler(0, 0, Interpolate.Ease(Interpolate.EaseType.EaseInSine)(-45 + 18 * middle, 9, t, wipeTime));
            Slices[last].transform.rotation   = Quaternion.Euler(0, 0, Interpolate.Ease(Interpolate.EaseType.EaseOutSine)(-45 + 18 * last, 9, t, wipeTime));
            yield return(new WaitForEndOfFrame());
        }
    }
Exemplo n.º 3
0
    public void RotateTo(Vector3 destination, float duration, Interpolate.EaseType easingFunction, Action <GameObject> onComplete, bool world)
    {
        rotationWorld   = world;
        rotationInitial = rotationWorld ? transform.rotation.eulerAngles : transform.localRotation.eulerAngles;

        rotationDisplacement = destination - rotationInitial;
        var rotX  = rotationDisplacement.x;        // check the other way around the circle
        var rotY  = rotationDisplacement.y;        // for each component
        var rotZ  = rotationDisplacement.z;
        var rotX2 = (rotationDisplacement.x + 360) % 360;
        var rotY2 = (rotationDisplacement.y + 360) % 360;
        var rotZ2 = (rotationDisplacement.z + 360) % 360;

        if (Mathf.Abs(rotX2) < Mathf.Abs(rotX))
        {
            rotX = rotX2;
        }
        if (Mathf.Abs(rotY2) < Mathf.Abs(rotY))
        {
            rotY = rotY2;
        }
        if (Mathf.Abs(rotZ2) < Mathf.Abs(rotZ))
        {
            rotZ = rotZ2;
        }
        rotationDisplacement = new Vector3(rotX, rotY, rotZ);

        rotationFunc          = Interpolate.Ease(easingFunction);
        rotationOnComplete    = onComplete;
        rotationDurationTotal = duration;
        rotationDuration      = 0;
    }
Exemplo n.º 4
0
        //public void OnHandleEvent(IGameNormalEventSender sender, E_GameNormalEvent e, params object[] args)
        //{
        //    if (E_GameNormalEvent.Trigger_Camera_Stock == e)
        //    {
        //        CameraStock stock = (CameraStock)args[0];
        //        m_cameraImpl.UpdateStock(stock);
        //    }
        //    else if (E_GameNormalEvent.Trigger_Camera_Zoom == e)
        //    {
        //        float Distance = (float)args[0];
        //        float Time = (float)args[1];
        //        m_cameraImpl.StartCoroutine(ZoomBlendStart(Distance, Time));
        //    }
        //    else if (E_GameNormalEvent.StartDarkChange == e)
        //        StartDarkChange();
        //    else if (E_GameNormalEvent.EndDarkChange == e)
        //        EndDarkChange();
        //}


        IEnumerator ZoomBlendStart(float distance, float time)
        {
            CameraSetting setting = m_cameraImpl.Setting;

            float deltatime = 0.0f;
            float olddis    = setting.CameraStock.Distance;
            bool  outcheck  = distance > 0.0f ? true : false;
            float newdis    = Mathf.Abs(distance);
            var   ease      = Interpolate.Ease(Interpolate.EaseType.Linear);

            while (deltatime <= time)
            {
                deltatime += TimeManager.deltaTime;
                float deltadis = ease(0.0f, newdis, deltatime, time);
                if (outcheck)
                {
                    setting.CameraStock.Distance = olddis + deltadis;
                }
                else
                {
                    setting.CameraStock.Distance = olddis - deltadis;
                }
                m_cameraImpl.UpdateStock(setting.CameraStock);
                yield return(new WaitForEndOfFrame());
            }
            setting.CameraStock.Distance = distance;
        }
Exemplo n.º 5
0
        public float GetPotential(Vector3 samplePos, Vector3 sourcePos, float sourcePotential)
        {
            if (sourcePotential == 0f)
            {
                return(0f);
            }

            if (maxDistance == 0f)
            {
                return(sourcePotential);
            }

            if (easeFunc == null)
            {
                easeFunc = Interpolate.Ease(this.easeType);
            }

            // start, distance, elapsed, duration.
            var potential = easeFunc(
                0f,
                Mathf.Abs(sourcePotential),
                maxDistance - Mathf.Min(Vector3.Distance(sourcePos, samplePos), maxDistance),
                maxDistance);

            return(potential * Mathf.Sign(sourcePotential));
        }
Exemplo n.º 6
0
    /// <summary>
    /// 페이드 인, 아웃 효과 프로세스
    /// </summary>
    public void DoFade(float time, AudioSource audio)
    {
        //fadeTime1 : 축적되는 현재 재생시간
        //fadeTime2 : 끝나는 시간을 체크하는 끝 시간

        if (this.isFadeIn == true)
        {
            this.fadeTime1 += time;
            audio.volume    = Interpolate.Ease(this.interpolate_Func, 0, maxVolume, fadeTime1, fadeTime2);
            if (this.fadeTime1 > this.fadeTime2)
            {
                this.isFadeIn = false;
            }
        }
        else if (this.isFadeOut == true)
        {
            this.fadeTime1 += time;
            audio.volume    = Interpolate.Ease(this.interpolate_Func, maxVolume, 0 - maxVolume, fadeTime1, fadeTime2);
            if (this.fadeTime1 >= this.fadeTime2)
            {
                this.isFadeOut = false;
                audio.Stop();
            }
        }
    }
Exemplo n.º 7
0
    void CheckGround()
    {
        Vector3      center = transform.TransformPoint(circleCollider.offset);
        RaycastHit2D hit    = Physics2D.CircleCast(
            center,
            circleCollider.radius,
            -transform.up,
            groundCheckDist,
            environmentLayers
            );

        if (hit.collider != null && Vector2.Angle(hit.normal, transform.up) < maxIncline)
        {
            _isGrounded = true;

            if (hugGround && rigidbody2D.velocity.magnitude > minHugSpeed)
            {
                _groundNormal = hit.normal;
                float   t = Interpolate.Ease(loopEase, 0.5f + Vector2.Dot(hit.normal, -Vector2.up) * 0.5f);
                Vector2 centrifugalForce = -rigidbody2D.velocity.magnitude * hit.normal;
                Vector2 tangentialForce  = rigidbody2D.velocity * loopBoost;
                rigidbody2D.AddForce(Vector2.Lerp(centrifugalForce, tangentialForce, t), ForceMode.Acceleration);
            }
        }
        else
        {
            _isGrounded = false;
        }
    }
Exemplo n.º 8
0
 public void FadeOut(float _time, Interpolate.EaseType _easyType)
 {
     isFadeOut           = true;
     isFadeIn            = false;
     fadeTime1           = 0.0f;
     fadeTime2           = _time;
     interPolateFunction = Interpolate.Ease(_easyType);
 }
Exemplo n.º 9
0
 public void FadeIn(float time, Interpolate.EaseType easeType)
 {
     isFadeOut        = false;
     fadeTime1        = 0.0f;
     fadeTime2        = time;
     interpolate_Func = Interpolate.Ease(easeType);
     isFadeIn         = true;
 }
Exemplo n.º 10
0
 //fadfeOut 기능
 public void FadeOut(float time, Interpolate.EaseType easeType)
 {
     this.IsFadeOut           = true;
     this.IsFadeIn            = false;
     this.FadeTime1           = 0.0f;
     this.FadeTime2           = time;
     this.InterpolateFunction = Interpolate.Ease(easeType);
 }
Exemplo n.º 11
0
 void Awake()
 {
     climbing    = Interpolate.Ease(easeClimbing);
     falling     = Interpolate.Ease(easeFalling);
     teleporting = Interpolate.Ease(easeTeleporting);
     bumping     = Interpolate.Ease(easeBumping);
     fade        = Interpolate.Ease(easefade);
 }
Exemplo n.º 12
0
 /// <summary>
 /// 페이드 아웃.
 /// </summary>
 public void FadeOut(float time, Interpolate.EaseType easeType)
 {
     this.isFadeIn         = false;
     this.fadeTime1        = 0.0f;
     this.fadeTime2        = time;
     this.interpolate_Func = Interpolate.Ease(easeType);
     this.isFadeOut        = true;
 }
Exemplo n.º 13
0
 public void ScaleTo(Vector3 destination, float duration, Interpolate.EaseType easingFunction, Action <GameObject> onComplete)
 {
     scaleInitial       = transform.localScale;
     scaleDisplacement  = destination - scaleInitial;
     scaleFunc          = Interpolate.Ease(easingFunction);
     scaleOnComplete    = onComplete;
     scaleDurationTotal = duration;
     scaleDuration      = 0;
 }
Exemplo n.º 14
0
 public void ColorTo(Color destination, float duration, Interpolate.EaseType easingFunction, Action <GameObject> onComplete)
 {
     colorInitial       = graphic ? graphic.color : spriteRenderer ? spriteRenderer.color : renderer.material.color;
     colorDisplacement  = destination - colorInitial;
     colorFunc          = Interpolate.Ease(easingFunction);
     colorOnComplete    = onComplete;
     colorDurationTotal = duration;
     colorDuration      = 0;
 }
Exemplo n.º 15
0
 public void MoveTo(Vector3 destination, float duration, Interpolate.EaseType easingFunction, Action <GameObject> onComplete, bool world)
 {
     positionWorld         = world;
     positionInitial       = positionWorld ? transform.position : transform.localPosition;
     positionDisplacement  = destination - positionInitial;
     positionFunc          = Interpolate.Ease(easingFunction);
     positionOnComplete    = onComplete;
     positionDurationTotal = duration;
     positionDuration      = 0;
 }
Exemplo n.º 16
0
    IEnumerator RadialColors(float sprayMaxTime, float rotateTime, float wipeMaxTime, bool red, float hueSpeed)
    {
        var sprayTimes = new float[Slices.Length];

        for (int i = 0; i < sprayTimes.Length; i++)
        {
            sprayTimes[i] = Mathf.Lerp(sprayMaxTime / 4, sprayMaxTime, Random.value);
        }
        var wipeTimes = new float[Slices.Length];

        for (int i = 0; i < wipeTimes.Length; i++)
        {
            wipeTimes[i] = Mathf.Lerp(wipeMaxTime / 4, wipeMaxTime, Random.value);
        }

        var overallTime = 0f;

        while (overallTime < (sprayMaxTime + rotateTime + wipeMaxTime))
        {
            overallTime += Time.deltaTime;
            if (overallTime > 0 && overallTime < sprayMaxTime)
            {
                var t = overallTime - 0;
                for (int i = 0; i < Slices.Length; i++)
                {
                    Slices[i].transform.localScale = new Vector3(Interpolate.Ease(Interpolate.EaseType.Linear)(0, 1, t, sprayTimes[i]), Interpolate.Ease(Interpolate.EaseType.Linear)(0, 1, t, sprayTimes[i]));
                }
            }
            else if (overallTime >= sprayMaxTime && overallTime < (sprayMaxTime + rotateTime))
            {
                var t = overallTime - sprayMaxTime;
            }
            else if (overallTime >= (sprayMaxTime + rotateTime) && overallTime < (sprayMaxTime + rotateTime + wipeMaxTime))
            {
                var t = overallTime - (sprayMaxTime + rotateTime);
                for (int i = 0; i < Slices.Length; i++)
                {
                    Slices[i].fillAmount         = Interpolate.Ease(Interpolate.EaseType.EaseOutSine)(0.051f, -0.051f, t, wipeTimes[i]);
                    Slices[i].transform.rotation = Quaternion.Euler(0, 0, Interpolate.Ease(Interpolate.EaseType.EaseOutSine)(-45 + 18 * i, 9, t, wipeTimes[i]));
                }
            }

            for (int i = 0; i < Slices.Length; i++)
            {
                var slice = Slices[i];
                var lerp  = ((float)i / Slices.Length + (overallTime * hueSpeed)) % 1;
                slice.color = new HSBColor(red ? (0.96f + Mathf.Sin(lerp * 6 * Mathf.PI) * 0.04f) % 1 : lerp, 1, 1, 1).ToColor();
            }
            yield return(new WaitForEndOfFrame());
        }
        for (int i = 0; i < Slices.Length; i++)
        {
            ResetSlice(i);
        }
    }
Exemplo n.º 17
0
 public float Evaluate(float time)
 {
     if (advancedMode)
     {
         return(Curve.Evaluate(time));
     }
     else
     {
         return(Interpolate.Ease(easeType)(startValue, stopValue - startValue, time, stopTime - startTime));
     }
 }
Exemplo n.º 18
0
    // Token: 0x0600044B RID: 1099 RVA: 0x00022B9D File Offset: 0x00020D9D
    private static IEnumerator NewEase(Interpolate.Function ease, Vector3 start, Vector3 end, float total, IEnumerable <float> driver)
    {
        Vector3 distance = end - start;

        foreach (float elapsedTime in driver)
        {
            yield return(Interpolate.Ease(ease, start, distance, elapsedTime, total));
        }
        IEnumerator <float> enumerator = null;

        yield break;
        yield break;
    }
Exemplo n.º 19
0
        public static IEnumerator FadeAudio(AudioSource audio, float duration, Fade fadeType, Interpolate.EaseType easeType = Interpolate.EaseType.EaseOutExpo)
        {
            float start        = fadeType == Fade.In ? 0.0f : 1.0f;
            float distance     = fadeType == Fade.In ? 1.0f : -1.0f;
            float t            = 0.0f;
            var   easeFunction = Interpolate.Ease(easeType);

            while (t <= duration)
            {
                audio.volume = easeFunction(start, distance, t, duration);
                t           += Time.deltaTime;
                yield return(null);
            }
        }
Exemplo n.º 20
0
    void ResetSequence()
    {
        // Extracts and prepares a list of vectors and angles to use on the tracks.

        List <Transform> transforms = new List <Transform>();

        foreach (Transform trans in transformList.transform)
        {
            transforms.Add(trans);
        }

        if (catmullSlices <= 0)
        {
            Vector3[] positions = new Vector3[transforms.Count + 1];
            Vector3[] angles    = new Vector3[transforms.Count + 1];

            int i = 0;
            foreach (Transform trans in transforms)
            {
                positions[i] = trans.position;
                angles[i]    = trans.rotation.eulerAngles;
                i++;
            }

            positions[transforms.Count] = transforms[0].position;
            angles[transforms.Count]    = transforms[0].rotation.eulerAngles;

            pos_sequence = Interpolate.NewBezier(Interpolate.Ease(Interpolate.EaseType.Linear), positions, duration).GetEnumerator();
            ang_sequence = Interpolate.NewBezier(Interpolate.Ease(Interpolate.EaseType.Linear), angles, duration).GetEnumerator();

            Invoke("ResetSequence", duration);
        }
        else
        {
            Vector3[] positions = new Vector3[transforms.Count];
            Vector3[] angles    = new Vector3[transforms.Count];

            int i = 0;
            foreach (Transform trans in transforms)
            {
                positions[i] = trans.position;
                angles[i]    = trans.rotation.eulerAngles;
                i++;
            }

            pos_sequence = Interpolate.NewCatmullRom(positions, catmullSlices, true).GetEnumerator();
            ang_sequence = Interpolate.NewCatmullRom(angles, catmullSlices, true).GetEnumerator();
        }
    }
Exemplo n.º 21
0
    IEnumerator AnimateWorldTransition(float scaleFactor, Vector3 camPosition, Vector3 playerPos)
    {
        // Effect here?
        playerRigidBody.gameObject.SetActive(false);

        Debug.Log($"Scaling world by {scaleFactor}");
        var startScale = worldTransform.localScale;
        var endScale   = worldTransform.localScale / scaleFactor;

        var     cam         = Camera.main.GetComponent <PortalCamera>();
        Vector3 camStartPos = cam.transform.position;
        var     camEndPos   = camPosition / scaleFactor;
        float   elapsedTime = 0;

        var f = Interpolate.Ease(Interpolate.EaseType.EaseInOutCirc);

        while (elapsedTime < transitionTime)
        {
            var     percent = elapsedTime / transitionTime;
            Vector3 camPos;
            if (easeCamera)
            {
                camPos = Interpolate.Ease(f, camStartPos, camEndPos - camStartPos, elapsedTime, transitionTime);
                worldTransform.localScale = Interpolate.Ease(f, startScale, endScale - startScale, elapsedTime, transitionTime);
            }
            else
            {
                camPos = Vector3.Lerp(camStartPos, camEndPos, percent);
                worldTransform.localScale = Vector3.Lerp(startScale, endScale, percent);
            }

            cam?.MoveCamera(camPos);

            elapsedTime += Time.deltaTime;
            yield return(new WaitForEndOfFrame());
        }

        worldTransform.localScale = endScale;
        cam?.MoveCamera(camEndPos);

        var endPlayerPos = playerPos / scaleFactor;

        playerRigidBody.gameObject.SetActive(true);

        Instantiate(cloudPrefab, endPlayerPos, Quaternion.identity);

        RespawnPlayer(endPlayerPos);
    }
Exemplo n.º 22
0
        public static WeightedItem WeightByInterpolation(this WeightedItem item, Vector3 origin, float maxDist, float scale, Interpolate.EaseType easeType)
        {
            var easeFunc = Interpolate.Ease(easeType);
            var start    = 0f;
            var dist     = scale;
            var duration = maxDist;

            var elapsed    = Vector3.Distance(origin, item.Target.TargetPosition);
            var distWeight = scale - easeFunc(start, dist, elapsed, duration);

            var newItem = new WeightedItem(item);

            newItem.Weight += distWeight;

            return(newItem);
        }
Exemplo n.º 23
0
        public static IEnumerable <WeightedItem> WeightByInterpolation(this IEnumerable <WeightedItem> items, Vector3 origin, float maxDist, float scale, Interpolate.EaseType easeType)
        {
            var easeFunc = Interpolate.Ease(easeType);
            var start    = 0f;
            var dist     = scale;
            var duration = maxDist;

            foreach (var item in items)
            {
                var elapsed    = Vector3.Distance(origin, item.Target.TargetPosition);
                var distWeight = scale - easeFunc(start, dist, elapsed, duration);

                var newItem = new WeightedItem(item);
                newItem.Weight += distWeight;

                yield return(newItem);
            }
        }
Exemplo n.º 24
0
    void Start()
    {
        sequence = Interpolate.NewEase(Interpolate.Ease(Interpolate.EaseType.Linear), this.transform.position, this.target.position, 5f);
        origin   = this.transform.position;
        _target  = target.transform.position - origin;
        //path = new LinearTrajectory();
        var list = race.SplitToEnum <ERace>();

        foreach (var r in list)
        {
            Debug.LogError(r);
        }
        Debug.LogError(list.Count);
        //path.Origin = this.transform.position;
        //path.Target = this.target.position;
        //path.TimeToFinish = 10f;

        //this.transform.position = Interpolate.Ease(Interpolate.Ease(Interpolate.EaseType.Linear), origin, _target, 5f, 10f);
    }
Exemplo n.º 25
0
 public void DoFade(float _time, AudioSource _audio)
 {
     if (isFadeIn == true)
     {
         fadeTime1    += _time;
         _audio.volume = Interpolate.Ease(interPolateFunction, 0, maxVolume, fadeTime1, fadeTime2);
         if (fadeTime1 >= fadeTime2)
         {
             isFadeIn = false;
         }
         else if (isFadeOut == true)
         {
             fadeTime1    += _time;
             _audio.volume = Interpolate.Ease(interPolateFunction, maxVolume, 0 - maxVolume, fadeTime1, fadeTime2);
             if (fadeTime1 >= fadeTime2)
             {
                 isFadeOut = false;
                 _audio.Stop();
             }
         }
     }
 }
Exemplo n.º 26
0
 public void DoFade(float time, AudioSource audio)
 {
     if (this.IsFadeIn == true)
     {
         this.FadeTime1 += time;
         audio.volume    = Interpolate.Ease(this.InterpolateFunction, 0, this.MaxVolume, this.FadeTime1, this.FadeTime2);
         if (this.FadeTime1 >= this.FadeTime2)
         {
             this.IsFadeIn = false;
         }
     }
     else if (this.IsFadeOut == true)
     {
         this.FadeTime1 += time;
         audio.volume    = Interpolate.Ease(this.InterpolateFunction, this.MaxVolume, 0 - this.MaxVolume, this.FadeTime1, this.FadeTime2);
         if (this.FadeTime1 >= this.FadeTime2)
         {
             this.IsFadeOut = false;
             audio.Stop();
         }
     }
 }
Exemplo n.º 27
0
    void Update()
    {
        // Movement
        if (accelerating)
        {
            currentSpeed = Interpolate.Ease(Interpolate.EaseType.EaseInQuad)(currentMinSpeed, currentMaxSpeed, endTimer, currentTimeToEnd / 2);
        }
        else
        {
            currentSpeed = Interpolate.Ease(Interpolate.EaseType.EaseInQuad)(currentMaxSpeed, -(currentMaxSpeed - minSpeed), endTimer, currentTimeToEnd / 2);
        }
        transform.Translate(new Vector3(0f, 0f, currentSpeed) * Time.deltaTime);
        endTimer += Time.deltaTime;

        // Reset parameters
        if (endTimer >= currentTimeToEnd / 2)
        {
            if (accelerating)
            {
                accelerating    = false;
                currentMaxSpeed = currentSpeed;
            }
            else
            {
                currentMinSpeed  = currentSpeed;
                currentMaxSpeed  = Random.Range(minSpeed, maxSpeed);
                currentTimeToEnd = Random.Range(minTimeToEnd, maxTimeToEnd);
                accelerating     = true;
            }
            endTimer = 0f;
        }

        // Destroy old corridors
        if (transform.position.z - lastPosition.z > 4f * generator.maxScale)
        {
            Destroy(corridors.GetChild(0).gameObject);
            lastPosition = transform.position;
        }
    }
Exemplo n.º 28
0
 /// <summary>
 /// 페이드인, 아웃 효과 프로세스.
 /// </summary>
 public void DoFade(float time, AudioSource audio)
 {
     if (this.isFadeIn == true)
     {
         this.fadeTime1 += time;
         audio.volume    = Interpolate.Ease(this.interpolate_Func, 0, maxVolume, fadeTime1, fadeTime2);
         if (this.fadeTime1 >= this.fadeTime2)
         {
             this.isFadeIn = false;
         }
     }
     else if (this.isFadeOut == false)
     {
         this.fadeTime1 += time;
         audio.volume    = Interpolate.Ease(this.interpolate_Func,
                                            maxVolume, 0 - this.maxVolume, fadeTime1, fadeTime2);
         if (this.fadeTime1 >= this.fadeTime2)
         {
             this.isFadeOut = false;
             audio.Stop();
         }
     }
 }
Exemplo n.º 29
0
 public void DoFade(float time, AudioSource audio)
 {
     if (isFadeIn == true)
     {
         fadeTime1   += time;
         audio.volume = Interpolate.Ease(interpolate_Func, 0.0f, maxVolume, fadeTime1, fadeTime2);
         if (fadeTime1 >= fadeTime2)
         {
             isFadeIn = false;
         }
     }
     else
     if (isFadeOut == true)
     {
         fadeTime1   += time;
         audio.volume = Interpolate.Ease(interpolate_Func, maxVolume, 0.0f - maxVolume, fadeTime1, fadeTime2);
         if (fadeTime1 >= fadeTime2)
         {
             isFadeOut = false;
             audio.Stop();
         }
     }
 }
Exemplo n.º 30
0
        public int GetValue(float t)
        {
            var easeFunc = Interpolate.Ease(this.easeType);

            var a = this.start;
            var b = this.end;

            if (a > b)
            {
                t = 1f - t;

                var tmp = a;
                a = b;
                b = tmp;
            }

            var start    = a;
            var distance = b - a;

            // start, distance, elapsed, duration.
            var value = easeFunc(start, distance, t, 1f);

            return((int)value);
        }