/// <summary>
    /// 設定細胞:於 Lv3_DragObject 拖拉結束後呼叫 OnEndDrag
    /// </summary>
    /// <param name="cell">當前拖拉的細胞</param>
    public IEnumerator SetCell(Lv3_DragObject cell)
    {
        if (countCell < 4)
        {
            // 設定細胞為子物件並調整尺寸
            cell.transform.SetParent(transform);
            cell.transform.localScale = Vector3.one * 0.8f;

            // 取得細胞與細胞位置的變形元件
            RectTransform rectCell     = cell.GetComponent <RectTransform>();
            RectTransform rectPosition = cellsPosition[countCell];

            cell.GetComponent <Button>().interactable = false;
            cell.enabled = false;

            // 當距離大於 10 時,持續移動到正確位置
            while (Vector2.Distance(rectCell.anchoredPosition, rectPosition.anchoredPosition) > 10)
            {
                rectCell.anchoredPosition = Vector2.Lerp(rectCell.anchoredPosition, rectPosition.anchoredPosition, Time.deltaTime * 100);
                yield return(null);
            }

            rectCell.anchoredPosition = rectPosition.anchoredPosition;

            // 如果 細胞 大於 一顆時
            if (countCell > 0)
            {
                // 取得前一顆與當前細胞名稱
                string prevCell    = cells[countCell - 1].name;
                string currentCell = cell.name;

                // 如果 前一顆 與 當前 名稱相同 = 正確
                if (prevCell == currentCell)
                {
                    StartCoroutine(Lv3_Scientist.instance.Correct());
                }
                // 否則 前一顆 與 當前 名稱不相同 = 錯誤
                else
                {
                    StartCoroutine(Lv3_Scientist.instance.Wrong());
                }
            }
            // 否則 沒有任何細胞時 正確
            else if (countCell == 0)
            {
                StartCoroutine(Lv3_Scientist.instance.Correct());
            }

            // 細胞添加到清單內並將編號遞增
            cells.Add(cell);
            countCell++;

            //CheckThreeSameCell();
            CheckTwoSameCell();
        }
    }
    /// <summary>
    /// 生成細胞
    /// </summary>
    private void SpawnCell()
    {
        int count = Random.Range(1, 4);                                                         // 隨機生成初始細胞 1 - 3 顆

        for (int i = 0; i < count; i++)                                                         // 迴圈執行 1 - 3 顆
        {
            int randomCell = Random.Range(0, Lv3_Scientist.instance.cells.Length);              // 根據細胞長度取得隨機細胞

            if (i > 0)                                                                          // 如果 是第二顆以上 判斷有沒有重複
            {
                string namePrev = cells[i - 1].name;                                            // 取得前一顆名稱
                string nameCurr = Lv3_Scientist.instance.cells[randomCell].name + "(Clone)";    // 取得當前隨機的細胞 - 加上 (Clone) 是因為前一顆是生成的細胞

                while (namePrev == nameCurr)                                                    // 如果名稱相同就持續隨機
                {
                    randomCell = Random.Range(0, Lv3_Scientist.instance.cells.Length);          // 隨機取得細胞
                    nameCurr   = Lv3_Scientist.instance.cells[randomCell].name + "(Clone)";     // 更新隨機細胞名稱
                }
            }

            GameObject     goCell    = Lv3_Scientist.instance.cells[randomCell];        // 取得隨機細胞
            GameObject     spawnCell = Instantiate(goCell);                             // 生成隨機細胞
            Lv3_DragObject cell      = spawnCell.GetComponent <Lv3_DragObject>();       // 取得隨機細胞的細胞元件 - 拖拉

            cell.transform.SetParent(transform);                                        // 設定細胞為子物件
            cell.transform.localScale = Vector3.one * 0.8f;                             // 調整尺寸

            RectTransform rectCell     = cell.GetComponent <RectTransform>();           // 取得細胞
            RectTransform rectPosition = cellsPosition[countCell];                      // 細胞位置的變形元件

            cell.GetComponent <Button>().interactable = false;                          // 設定不能點擊
            cell.enabled = false;                                                       // 關閉細胞元件

            rectCell.anchoredPosition = rectPosition.anchoredPosition;                  // 設定座標

            cells.Add(cell);                                                            // 細胞添加到清單內
            countCell++;                                                                // 編號遞增
            Lv3_Scientist.totalCreateCell++;                                            // 細胞總數增加
        }
    }