Exemplo n.º 1
0
    // public static void SetAlpha (this tk2dTextMesh self, float alpha) {
    //  Color next = self.color;
    //  next.a = Mathf.Clamp01 ( alpha );
    //  self.color = next;
    // }

    public static Color ColorTranslate(Color a, Color b, EaseUtils.EaseType easeType, float t)
    {
        Color ret = a;

        ret.r = EaseUtils.Ease(easeType, a.r, b.r, t);
        ret.g = EaseUtils.Ease(easeType, a.g, b.g, t);
        ret.b = EaseUtils.Ease(easeType, a.b, b.b, t);
        ret.a = EaseUtils.Ease(easeType, a.a, b.a, t);
        return(ret);
    }
Exemplo n.º 2
0
    public static float EaseInOutBounce(float start, float end, float value)
    {
        end -= start;
        float num = 1f;

        if (value < num / 2f)
        {
            return(EaseUtils.EaseInBounce(0f, end, value * 2f) * 0.5f + start);
        }
        return(EaseUtils.EaseOutBounce(0f, end, value * 2f - num) * 0.5f + end * 0.5f + start);
    }
Exemplo n.º 3
0
    protected IEnumerator tweenValue_cr(float start, float end, float time, EaseUtils.EaseType ease, TweenUpdateHandler updateCallback)
    {
        float t = 0f;

        while (t < time)
        {
            float val = t / time;
            updateCallback?.Invoke(EaseUtils.Ease(ease, start, end, val));
            t += this.LocalDeltaTime;
            yield return(null);
        }
        updateCallback?.Invoke(end);
        yield return(null);
    }
Exemplo n.º 4
0
    void Up_Tick()
    {
        _timer += CupheadTime.Delta[CupheadTime.Layer.Enemy];

        transform.SetPosition(
            EaseUtils.Linear(_startPosition.x, _upPosition.x, _timer / UpDuration),
            EaseUtils.Linear(_startPosition.y, _upPosition.y, _timer / UpDuration)
            );

        if (_timer >= UpDuration)
        {
            currentState = State.Track;
        }
    }
Exemplo n.º 5
0
    private IEnumerator goTo_cr(float start, float end, float time, EaseUtils.EaseType ease)
    {
        float t = 0f;

        base.transform.SetLocalPosition(null, start, null);
        while (t < time)
        {
            float val = t / time;
            base.transform.SetLocalPosition(null, EaseUtils.Ease(ease, start, end, val), null);
            t += CupheadTime.GlobalDelta;
            yield return(StartCoroutine(base.WaitForPause_CR()));
        }
        base.transform.SetLocalPosition(null, end, null);
    }
Exemplo n.º 6
0
    static public IEnumerator TweenValue_cr(float start, float end, float time, EaseUtils.EaseType ease, TweenUpdateHandler updateCallback, TweenCompletedHandler endCallback = null)
    {
        float t = 0f;

        while (t < time)
        {
            float val = t / time;
            updateCallback?.Invoke(EaseUtils.Ease(ease, start, end, val));
            t += CupheadTime.GlobalDelta;
            yield return(null);
        }
        updateCallback?.Invoke(end);
        endCallback?.Invoke();
        yield return(null);
    }
Exemplo n.º 7
0
 public static float EaseInOut(EaseType inEase, EaseType outEase, float start, float end, float value)
 {
     if (value < 0.5f)
     {
         float value2 = Mathf.Clamp(value * 2f, 0f, 1f);
         float end2   = Mathf.Lerp(start, end, 0.5f);
         return(EaseUtils.Ease(inEase, start, end2, value2));
     }
     if (value > 0.5f)
     {
         float value2 = Mathf.Clamp(value * 2f - 1f, 0f, 1f);
         float start2 = Mathf.Lerp(start, end, 0.5f);
         return(EaseUtils.Ease(outEase, start2, end, value2));
     }
     return(Mathf.Lerp(start, end, 0.5f));
 }
Exemplo n.º 8
0
    static public IEnumerator TweenPosition_cr(Transform target, Vector3 start, Vector3 end, float time, EaseUtils.EaseType ease)
    {
        target.position = start;
        float t = 0f;

        while (t < time)
        {
            float val = t / time;
            float x   = EaseUtils.Ease(ease, start.x, end.x, val);
            float y   = EaseUtils.Ease(ease, start.y, end.y, val);
            float z   = EaseUtils.Ease(ease, start.z, end.z, val);
            target.SetPosition(x, y, z);
            t += CupheadTime.GlobalDelta;
            yield return(null);
        }
        target.position = end;
        yield return(null);
    }
Exemplo n.º 9
0
    static public IEnumerator TweenScale_cr(Transform transform, Vector2 start, Vector2 end, float time, EaseUtils.EaseType ease, CupheadTime.Layer timeLayer, TweenCompletedHandler endCallback = null)
    {
        transform.SetScale(start.x, start.y, null);
        float t = 0f;

        while (t < time)
        {
            float val = t / time;
            float x   = EaseUtils.Ease(ease, start.x, end.x, val);
            float y   = EaseUtils.Ease(ease, start.y, end.y, val);
            transform.SetScale(x, y, null);
            t += CupheadTime.Delta[timeLayer];
            yield return(null);
        }
        transform.SetScale(end.x, end.y, null);
        endCallback?.Invoke();
        yield return(null);
    }
Exemplo n.º 10
0
    private IEnumerator tweenPosition_cr(Vector2 start, Vector2 end, float time, EaseUtils.EaseType ease, TweenUpdateHandler updateCallback = null)
    {
        this.transform.position = start;
        float t = 0f;

        while (t < time)
        {
            float val = t / time;
            float x   = EaseUtils.Ease(ease, start.x, end.x, val);
            float y   = EaseUtils.Ease(ease, start.y, end.y, val);
            this.transform.SetPosition(x, y, 0f);
            updateCallback?.Invoke(val);
            t += this.LocalDeltaTime;
            yield return(null);
        }
        this.transform.position = end;
        updateCallback?.Invoke(1f);
        yield return(null);
    }
Exemplo n.º 11
0
    static public IEnumerator TweenLocalPosition_cr(Transform target, Vector3 start, Vector3 end, float time, EaseUtils.EaseType ease, CupheadTime.Layer timeLayer, TweenUpdateHandler updateCallback, TweenCompletedHandler endCallback = null)
    {
        target.localPosition = start;
        float t = 0f;

        while (t < time)
        {
            float val = t / time;
            float x   = EaseUtils.Ease(ease, start.x, end.x, val);
            float y   = EaseUtils.Ease(ease, start.y, end.y, val);
            float z   = EaseUtils.Ease(ease, start.z, end.z, val);
            target.SetLocalPosition(x, y, z);
            updateCallback?.Invoke(val);
            t += CupheadTime.Delta[timeLayer];
            yield return(null);
        }
        target.localPosition = end;
        updateCallback?.Invoke(1f);
        endCallback?.Invoke();
        yield return(null);
    }
Exemplo n.º 12
0
    static public IEnumerator TweenSpriteRendererColor_cr(SpriteRenderer renderer, Color start, Color end, float time, EaseUtils.EaseType ease, CupheadTime.Layer timeLayer, TweenCompletedHandler endCallback = null)
    {
        float t = 0f;
        Color c = start;

        while (t < time)
        {
            float val = t / time;

            c.r = EaseUtils.Ease(ease, start.r, end.r, val);
            c.g = EaseUtils.Ease(ease, start.g, end.g, val);
            c.b = EaseUtils.Ease(ease, start.b, end.b, val);
            c.a = EaseUtils.Ease(ease, start.a, end.a, val);

            renderer.color = c;

            t += CupheadTime.Delta[timeLayer];
            yield return(null);
        }
        endCallback?.Invoke();
        yield return(null);
    }
Exemplo n.º 13
0
    private IEnumerator tweenLocalRotation2D_cr(float start, float end, float time, EaseUtils.EaseType ease, TweenUpdateHandler updateCallback = null)
    {
        this.transform.SetLocalEulerAngles(null, null, start);
        float t = 0f;

        while (t < time)
        {
            float val = t / time;
            this.transform.SetLocalEulerAngles(null, null, EaseUtils.Ease(ease, start, end, val));
            if (updateCallback != null)
            {
                updateCallback(val);
            }
            float num = t + this.LocalDeltaTime;
            yield return(null);
        }
        this.transform.SetLocalEulerAngles(null, null, end);
        if (updateCallback != null)
        {
            updateCallback(1f);
        }
        yield return(null);
    }
Exemplo n.º 14
0
    public static float Ease(EaseType ease, float start, float end, float value)
    {
        switch (ease)
        {
        case EaseType.easeInBack:
            return(EaseUtils.EaseInBack(start, end, value));

        case EaseType.easeInBounce:
            return(EaseUtils.EaseInBounce(start, end, value));

        case EaseType.easeInCirc:
            return(EaseUtils.EaseInCirc(start, end, value));

        case EaseType.easeInCubic:
            return(EaseUtils.EaseInCubic(start, end, value));

        case EaseType.easeInElastic:
            return(EaseUtils.EaseInElastic(start, end, value));

        case EaseType.easeInExpo:
            return(EaseUtils.EaseInExpo(start, end, value));

        case EaseType.easeInOutBack:
            return(EaseUtils.EaseInOutBack(start, end, value));

        case EaseType.easeInOutBounce:
            return(EaseUtils.EaseInOutBounce(start, end, value));

        case EaseType.easeInOutCirc:
            return(EaseUtils.EaseInOutCirc(start, end, value));

        case EaseType.easeInOutCubic:
            return(EaseUtils.EaseInOutCubic(start, end, value));

        case EaseType.easeInOutElastic:
            return(EaseUtils.EaseInOutElastic(start, end, value));

        case EaseType.easeInOutExpo:
            return(EaseUtils.EaseInOutExpo(start, end, value));

        case EaseType.easeInOutQuad:
            return(EaseUtils.EaseInOutQuad(start, end, value));

        case EaseType.easeInOutQuart:
            return(EaseUtils.EaseInOutQuart(start, end, value));

        case EaseType.easeInOutQuint:
            return(EaseUtils.EaseInOutQuint(start, end, value));

        case EaseType.easeInOutSine:
            return(EaseUtils.EaseInOutSine(start, end, value));

        case EaseType.easeInQuad:
            return(EaseUtils.EaseInQuad(start, end, value));

        case EaseType.easeInQuart:
            return(EaseUtils.EaseInQuart(start, end, value));

        case EaseType.easeInQuint:
            return(EaseUtils.EaseInQuint(start, end, value));

        case EaseType.easeInSine:
            return(EaseUtils.EaseInSine(start, end, value));

        case EaseType.easeOutBack:
            return(EaseUtils.EaseOutBack(start, end, value));

        case EaseType.easeOutBounce:
            return(EaseUtils.EaseOutBounce(start, end, value));

        case EaseType.easeOutCirc:
            return(EaseUtils.EaseOutCirc(start, end, value));

        case EaseType.easeOutCubic:
            return(EaseUtils.EaseOutCubic(start, end, value));

        case EaseType.easeOutElastic:
            return(EaseUtils.EaseOutElastic(start, end, value));

        case EaseType.easeOutExpo:
            return(EaseUtils.EaseOutExpo(start, end, value));

        case EaseType.easeOutQuad:
            return(EaseUtils.EaseOutQuad(start, end, value));

        case EaseType.easeOutQuart:
            return(EaseUtils.EaseOutQuart(start, end, value));

        case EaseType.easeOutQuint:
            return(EaseUtils.EaseOutQuint(start, end, value));

        case EaseType.easeOutSine:
            return(EaseUtils.EaseOutSine(start, end, value));

        case EaseType.spring:
            return(EaseUtils.Spring(start, end, value));

        default:
            return(Mathf.Lerp(start, end, value));
        }
    }