void ShuffleWithMatches(int cardTypes) { CardHandler.s.SetUpGrid(); List <int> myCards = new List <int> (); int totalCards = GS.a.gridSettings.gridSizeX * GS.a.gridSettings.gridSizeY; for (int i = 0; i < totalCards; i += 2) { int rand = Random.Range(0, cardTypes); rand++; myCards.Add(rand); myCards.Add(rand); } int[] finalList = myCards.ToArray(); RandFuncs.Shuffle(finalList); int n = 0; for (int x = 0; x < GS.a.gridSettings.gridSizeX; x++) { for (int y = 0; y < GS.a.gridSettings.gridSizeY; y++) { CardHandler.s.allCards[x, y].cardType = finalList[n]; n++; } } }
public List <IndividualCard> GetRandomizedOccupiedOrSelectabeCardList() { List <IndividualCard> selectableCards = GetOccupiedOrSelectableCards(); RandFuncs.Shuffle(selectableCards); return(selectableCards); }
public override IEnumerator MainLoop() { yield return(new WaitForSeconds(0.5f)); IndividualCard curTarget = null; while (true) { List <IndividualCard> allCards = GetAllCards(); RandFuncs.Shuffle(allCards); foreach (IndividualCard card in allCards) { if (card.currentSelectingPlayer != -1) { curTarget = card; break; } } if (curTarget == null) { yield return(new WaitForSeconds(reactionTime)); continue; } yield return(MoveToPosition(curTarget)); while (curTarget.currentSelectingPlayer != -1) { Activate(curTarget); ScoreBoardManager.s.AddScore(curTarget.currentSelectingPlayer, 0, -1, true); yield return(new WaitForSeconds(periodicAttackTime)); } yield return(new WaitForSeconds(reactionTime)); } }