Esempio n. 1
0
 public override void SetPlayerController(PlayerController playerController)
 {
     base.SetPlayerController(playerController);
     this.playerController = playerController;
     playerController.EnablePimPamPumsResponse();
     Current = new WaitForCardResponse(playerController);
 }
Esempio n. 2
0
        public override bool MoveNext()
        {
            WaitForCardResponse responseTimer = Current as WaitForCardResponse;

            if (responseTimer != null)
            {
                currentDecision = responseTimer.Decision;
                switch (responseTimer.Decision)
                {
                case Decision.Avoid:
                    currentDecision = Decision.Pending;
                    dodges++;
                    SetCardResponse(player, responseTimer);
                    return(true);

                case Decision.Barrel:
                    currentDecision = Decision.Pending;
                    barrelsUsed++;
                    Current = new DrawEffectCoroutine(playerController);
                    return(true);
                }
            }
            DrawEffectCoroutine drawEffectCoroutine = Current as DrawEffectCoroutine;

            if (drawEffectCoroutine != null)
            {
                Card drawEffectCard = drawEffectCoroutine.DrawEffectCard;
                dodge   = Card.CheckCondition <Barrel>(drawEffectCard);
                dodges += dodge ? 1 : 0;
                Current = GameController.Instance.BarrelEffect(player, drawEffectCard, dodge);
                return(true);
            }
            if (dodges < misses && currentDecision != Decision.TakeHit)
            {
                playerController.EnableMissedsResponse();
                if (barrelsUsed < barrels)
                {
                    playerController.EnableBarrelButton(true);
                }
                Current = new WaitForCardResponse(playerController);
                return(true);
            }
            TakeHit = dodges < misses || currentDecision == Decision.TakeHit;
            playerController.DisableCards();
            return(false);
        }
Esempio n. 3
0
    public override bool MoveNext()
    {
        if (finished)
        {
            return(false);
        }
        WaitForCardResponse responseCoroutine = Current as WaitForCardResponse;

        if (responseCoroutine != null)
        {
            decision = responseCoroutine.Decision;
            if (decision == Decision.Avoid)
            {
                Current = EveryCowboyForHimself.Event(next + " keeps dueling.");
                if (next == target)
                {
                    pimPamPumsTarget++;
                }
                return(true);
            }
            else
            {
                Current = EveryCowboyForHimself.Event(next + " loses the duel.");
                return(true);
            }
        }
        if (decision != Decision.TakeHit)
        {
            next = next == player ? target : player;
            //TODO next.EnablePimPamPumsDuelResponse();
            Current = new WaitForCardResponse(next);
            return(true);
        }
        else
        {
            target.FinishResponse(pimPamPumsTarget);
            Current  = EveryCowboyForHimself.HitPlayer(player, next);
            finished = true;
            return(true);
        }
    }
Esempio n. 4
0
    public override bool MoveNext()
    {
        WaitForCardResponse responseTimer = Current as WaitForCardResponse;

        if (responseTimer != null)
        {
            currentDecision = responseTimer.Decision;
            switch (responseTimer.Decision)
            {
            case Decision.Avoid:
                currentDecision = Decision.Pending;
                dodges++;
                SetCardResponse(responseTimer);
                return(true);

            case Decision.Barrel:
                currentDecision = Decision.Pending;
                barrelsUsed++;
                Current = new DrawEffectCoroutine(character);
                return(true);
            }
        }
        DrawEffectCoroutine drawEffectCoroutine = Current as DrawEffectCoroutine;

        if (drawEffectCoroutine != null)
        {
            Card drawEffectCard = drawEffectCoroutine.DrawEffectCard;
            dodge   = EveryCowboyForHimself.CheckConditionBarrel(drawEffectCard);
            dodges += dodge ? 1 : 0;
            Current = EveryCowboyForHimself.BarrelEffect(character, drawEffectCard);
            return(true);
        }
        if (dodges < misses && currentDecision != Decision.TakeHit)
        {
            Current = new WaitForCardResponse(character);
            return(true);
        }
        TakeHit = dodges < misses || currentDecision == Decision.TakeHit;
        return(false);
    }
Esempio n. 5
0
    public override bool MoveNext()
    {
        if (first)
        {
            first = false;
            return(true);
        }
        WaitForCardResponse responseTimer = Current as WaitForCardResponse;

        if (responseTimer != null)
        {
            currentDecision = responseTimer.Decision;
            switch (responseTimer.Decision)
            {
            case Decision.Avoid:
                SetCardResponse(responseTimer);
                return(true);
            }
        }
        TakeHit = currentDecision == Decision.TakeHit;
        //TODO Character.DisableCards();
        return(false);
    }
Esempio n. 6
0
 protected void SetCardResponse(WaitForCardResponse timer)
 {
     Current = EveryCowboyForHimself.CardResponse(character, timer.ResponseCard);
 }
Esempio n. 7
0
 protected void SetCardResponse(int player, WaitForCardResponse timer)
 {
     Current = GameController.Instance.CardResponse(player, timer.ResponseCard);
 }
Esempio n. 8
0
 public IndianCoroutine(Player player) : base(player)
 {
     Current = new WaitForCardResponse(player);
 }