public override bool MoveNext() { WaitForCardSelection chooseCardTimer = Current as WaitForCardSelection; if (chooseCardTimer != null && chooseCardTimer.ChosenCard != null) { DrawEffectCard = chooseCardTimer.ChosenCard; drawnCards = chooseCardTimer.Cards; } if (drawnCards != null && !drawEffectStarted) { currentCard = 0; maxCards = drawnCards.Count; drawEffectStarted = true; } if (drawEffectStarted && currentCard < maxCards) { Current = EveryCowboyForHimself.DrawEffect(player, drawnCards[currentCard++]); return(true); } if (maxCards > 0 && currentCard == maxCards) { return(false); } return(true); }
public override bool MoveNext() { WaitForCardSelection generalStoreTimer = Current as WaitForCardSelection; if (generalStoreTimer != null) { CardChoices = generalStoreTimer.NotChosenCards; players[nextPlayer].AddCardHand(generalStoreTimer.ChosenCard); nextPlayer = EveryCowboyForHimself.NextPlayerAlive(nextPlayer); pendingPlayers--; return(true); } bool res = pendingPlayers > 1; if (res) { Current = new WaitForCardSelection(players[nextPlayer], CardChoices); return(true); } if (!res && !lastCard) { lastCard = true; players[nextPlayer].AddCardHand(LastCard); return(true); } return(res); }
public DrawEffectCoroutine(Player player) { this.player = player.Index; int drawEffectCards = player.DrawEffectCards; if (drawEffectCards < 2) { DrawEffectCard = EveryCowboyForHimself.DrawCard(); drawnCards = new List <Card>(); drawnCards.Add(DrawEffectCard); } else { Current = new WaitForCardSelection(player, drawEffectCards); } }
public override bool MoveNext() { WaitForCardSelection cardSelection = Current as WaitForCardSelection; if (cardSelection != null) { Characters[currentPlayer].RemoveCardHand(cardSelection.Choice); Characters[startingPlayer].AddCardHand(cardSelection.ChosenCard); } currentPlayer = EveryCowboyForHimself.NextPlayerAlive(currentPlayer); Player currentPc = Characters[currentPlayer]; if (startingPlayer != currentPlayer && currentPc.Hand.Count > minimumCards) { Current = new WaitForCardSelection(currentPc, currentPc.Hand); return(true); } return(false); }
public override bool MoveNext() { WaitForCardSelection cardSelection = Current as WaitForCardSelection; if (cardSelection != null) { playerControllers[currentPlayer].UnequipHandCard(cardSelection.Choice); playerControllers[startingPlayer].AddCard(cardSelection.ChosenCard); } currentPlayer = GameController.Instance.NextPlayerAlive(currentPlayer); PlayerController currentPc = playerControllers[currentPlayer]; if (startingPlayer != currentPlayer && currentPc.Hand.Count > minimumCards) { Current = new WaitForCardSelection(currentPc, currentPc.Hand); return(true); } return(false); }