Exemplo n.º 1
0
    public void Blink(Shader _shader, Color _color, float _duration)
    {
        StopCoroutine("Blink_CO");
        BlinkParams blinkParams = new BlinkParams(_shader, _color, _duration);

        StartCoroutine("Blink_CO", blinkParams);
    }
Exemplo n.º 2
0
    protected virtual IEnumerator Blink_CO(BlinkParams _params)
    {
        SetSkinnedMeshShader(_params.shader);

        float timer = 0.0f;

        while (timer <= _params.duration)
        {
            float ratio = timer / _params.duration;
            ratio = exEase.ExpoOut(ratio);
            ratio = Mathf.PingPong(ratio * 2.0f, 1.0f);
            Color clr = Color.Lerp(Color.black, _params.color, ratio);

            SetBlinkColor(clr);

            //
            timer += Time.deltaTime;
            yield return(null);
        }

        ResetMaterials();
    }