Example #1
0
    private IEnumerator start_updating()
    {
        Vector3 scale       = transform.localScale;
        float   start_scale = scale.x;
        float   end_scale   = _circle.get_radius();
        float   time        = 0;

        while (true)
        {
            time += Time.deltaTime * _delay;
            float tween_scale = Mathf.Lerp(start_scale, end_scale, _curve.Evaluate(time));
            scale.x = tween_scale;
            scale.y = tween_scale;
            transform.localScale = scale;
            if (time >= 1)
            {
                scale.x = end_scale;
                scale.y = end_scale;
                transform.localScale = scale;
                update_shader();
                break;
            }
            yield return(null);
        }
    }