public override void SetPlayerController(PlayerController playerController) { base.SetPlayerController(playerController); this.playerController = playerController; playerController.EnablePimPamPumsResponse(); Current = new WaitForCardResponse(playerController); }
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); }
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); } }
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); }
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); }
protected void SetCardResponse(WaitForCardResponse timer) { Current = EveryCowboyForHimself.CardResponse(character, timer.ResponseCard); }
protected void SetCardResponse(int player, WaitForCardResponse timer) { Current = GameController.Instance.CardResponse(player, timer.ResponseCard); }
public IndianCoroutine(Player player) : base(player) { Current = new WaitForCardResponse(player); }