//time 시간동안 card를 베지어 곡선을 따라 이동시킨다.
    //카드의 trail효과를 활성화시키고, 이동이 종료되면 card.init을 discardPile에 추가하며 객체를 Destroy한다.
    private IEnumerator DropCardC(float time, Card card, Vector3 start, Vector3 p1, Vector3 p2, Vector3 end)
    {
        card.isDraggable = false;
        StartCoroutine(card.SetActiveOfTrailC(0f, true));
        yield return(StartCoroutine(ObjectControl.CurveMoveObjC(time, start, p1, p2, end, card.gameObject)));

        discardPile.AddToPile(card.init);
        Destroy(card.gameObject, 0.5f);
    }
    //time 시간동안 Card를 베지어 곡선에 따라 이동하여, 뽑을 카드 더미에 card.init 데이터를 전달한 후, card.GameObject를 Destroy한다.
    private IEnumerator ReloadCardC(float time, Card card)
    {
        float   h    = Random.Range(-2, 3) * 80;
        float   addH = 3 * 80;
        float   x    = discardPile.transform.localPosition.x + (deck.transform.localPosition.x - discardPile.transform.localPosition.x) / 5;
        Vector3 r1   = new Vector3(x, discardPile.transform.localPosition.y + addH + h, 0f);
        Vector3 r2   = new Vector3(x, discardPile.transform.localPosition.y + addH, 0f);

        StartCoroutine(ObjectControl.RotationToC(time, new Vector3(0f, 0f, ObjectControl.RotationAngle(card.gameObject, 120f)), card.gameObject));
        yield return(StartCoroutine(ObjectControl.CurveMoveObjC(time, discardPile.transform.localPosition, r1, r2, deck.transform.localPosition, card.gameObject)));

        deck.AddToPile(card.init);
        Destroy(card.gameObject, 0.5f);
    }
    //생성된 카드를 베지어 곡선에 따라 이동시킨다.
    private IEnumerator DrawCardC(float time, int index)
    {
        StartCoroutine(ObjectControl.RotationToC(0.3f, new Vector3(0f, 0f, -180f), cardList[index].gameObject));
        SetCurveRate(index);
        cardList[index].targetPos = Curve.BezierCurve(cardList[index].handCurveRate, handP0.localPosition, handP1.localPosition, handP2.localPosition, handP3.localPosition);

        StartCoroutine(ObjectControl.ChangeSizeC(0.3f, new Vector3(cardMaxSize, cardMaxSize, 0.0f), cardList[index].gameObject));
        yield return(StartCoroutine(ObjectControl.CurveMoveObjC(time, deck.transform.localPosition, drawP1.localPosition, drawP2.localPosition, cardList[index].targetPos, cardList[index].gameObject)));

        StartCoroutine(cardList[index].SetActiveOfTrailC(0.3f, false));

        //손패 정렬 실행.
        SortAllCard();
        endDrawCount++;
    }