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; } }