public IEnumerator CheckChanging()
    {
        if (isColorClearGem)
        {
            miniGame.MatchedGemsOfColor(nextGem.tag);
            isMatched = true;
        }
        else if (nextGem.GetComponent <GemBehaviour>().isColorClearGem)
        {
            miniGame.MatchedGemsOfColor(this.gameObject.tag);
            nextGem.GetComponent <GemBehaviour>().isMatched = true;
        }

        yield return(new WaitForSeconds(0.4f));

        if (nextGem != null)
        {
            if (!isMatched && !nextGem.GetComponent <GemBehaviour>().isMatched)
            {
                nextGem.GetComponent <GemBehaviour>().row    = row;
                nextGem.GetComponent <GemBehaviour>().column = column;
                row    = previousRow;
                column = previousColumn;
                yield return(new WaitForSeconds(0.5f));

                miniGame.currentGem   = null;
                miniGame.currentState = GameState.MOVE;
            }
            else
            {
                miniGame.DestroyAllMatchesGem();
            }

            nextGem = null;
        }
    }