private void generateCrown(List <Tile> tiles) { if (tiles.Count == 4) { List <WordTile> wordTilesList = getWordTiles(); for (int i = 0; i < tiles.Count; i++) { if (wordTilesList.Contains((WordTile)tiles[i])) { wordTilesList.Remove((WordTile)tiles[i]); } } for (int i = wordTilesList.Count - 1; i >= 0; i--) { if (wordTilesList[i].crown) { wordTilesList.Remove(wordTilesList[i]); } } if (wordTilesList.Count == 0) { return; } WordTile crownTile = (wordTilesList[UnityEngine.Random.Range(0, wordTilesList.Count)]); if (crownTile is WordTile) { WordTile k = (WordTile)crownTile; k.setCrown(true); } else { generateCrown(tiles); } } }