Esempio n. 1
0
    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);
    }
Esempio n. 3
0
    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);
    }
Esempio n. 5
0
        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);
        }