private void Start()
    {
        List <RoundedLineView> underViews = GetViews(_underViewsParent);
        List <RoundedLineView> overViews  = GetViews(_overViewsParent);

        float delay    = 0.7f;
        float interval = 0.2f;

        for (int i = 0; i < underViews.Count; i++)
        {
            RoundedLineView view = underViews[i];
            view.RightFillAmount = 0;

            Sequence seq = DOTween.Sequence();
            seq.AppendInterval(delay + interval * i);
            seq.Append(DOTween.To(() => view.RightFillAmount, amount => view.RightFillAmount = amount, 1f, 0.8f));
            seq.SetEase(Ease.OutQuad);
            seq.Play();
        }

        float offset = 0.3f;

        for (int i = 0; i < overViews.Count; i++)
        {
            RoundedLineView view = overViews[i];

            Sequence seq = DOTween.Sequence();
            seq.AppendInterval(delay + interval * i + offset);
            seq.Append(DOTween.To(() => view.RightFillAmount, amount => view.RightFillAmount = amount, 1f, 1f));
            seq.SetEase(Ease.OutQuad);
            seq.Play();
        }

        float afterStartTime = delay + interval * overViews.Count + offset + 0.7f;

        interval = 0.1f;
        for (int i = 0; i < overViews.Count; i++)
        {
            RoundedLineView view = overViews[i];

            Sequence seq = DOTween.Sequence();
            seq.AppendInterval(interval * i + afterStartTime);
            if (i == 0)
            {
                seq.AppendCallback(() => {
                    _camera.backgroundColor = Color.black;
                    _text.color             = Color.white;
                    for (int j = 0; j < underViews.Count; j++)
                    {
                        underViews[j].Thickness = 0;
                    }
                });
            }
            seq.Append(DOTween.To(() => view.LeftFillAmount, amount => view.LeftFillAmount = amount, 0f, 0.25f));
            seq.SetEase(Ease.OutQuad);
            seq.Play();
        }
    }
    private List <RoundedLineView> GetViews(Transform viewParent)
    {
        List <RoundedLineView> views = new List <RoundedLineView>();

        for (int i = 0; i < viewParent.childCount; i++)
        {
            RoundedLineView view = viewParent.GetChild(i).GetComponent <RoundedLineView>();
            if (view != null)
            {
                views.Add(view);
            }
        }
        return(views);
    }