Example #1
0
 void ActiveTokens(bool isActive)
 {
     foreach (CardComponent card in ChosenCardEffects.Select(c => c.Card))
     {
         if (isActive)
         {
             card.ResourcesToken.ShowToken(false);
             card.DoomToken.ShowToken(false);
             card.CluesToken.ShowToken(false);
             card.HealthToken.ShowToken(true);
             card.SanityToken.ShowToken(true);
             SetButton();
         }
         else
         {
             card.HealthToken.ShowAmount();
             card.HealthToken.HideButtons();
             card.SanityToken.ShowAmount();
             card.SanityToken.HideButtons();
             card.ResourcesToken.ShowAmount();
             card.DoomToken.ShowAmount();
             card.CluesToken.ShowAmount();
         }
     }
 }
Example #2
0
 public override void CardPlay(CardComponent card)
 {
     CardPlayed = card;
     if ((ChosenCardEffects.Exists(c => c.Card == card) && !isLoop) || ChosenCardEffects.Count < 2)
     {
         ContinueNextAction = true;
     }
     base.CardPlay(card);
 }
Example #3
0
        IEnumerator DoDamageAndHorror()
        {
            foreach (CardComponent card in ChosenCardEffects.FindAll(c => c.Card.SanityToken.AssignValue > 0 || c.Card.HealthToken.AssignValue > 0).Select(c => c.Card))
            {
                yield return(new AddTokenAction(card.HealthToken, card.HealthToken.AssignValue, secundaryToToken: card.SanityToken, secundaryAmount: card.SanityToken.AssignValue).RunNow());

                card.HealthToken.AssignValue = 0;
                card.SanityToken.AssignValue = 0;
            }
        }
 public override void CardPlay(CardComponent card)
 {
     PreparingCard(card, false);
     AllComponents.Table.CenterPreview.ListCards.Remove(card);
     if (ChosenCardEffects.Count < 2)
     {
         ContinueNextAction = true;
     }
     base.CardPlay(card);
     ChosenCardEffects.Remove(ChosenCardEffects.Find(c => c.Card == card));
 }
Example #5
0
        protected override IEnumerator ActionLogic()
        {
            yield return(base.ActionLogic());

            if (CardsInPreview)
            {
                yield return(ShowTable());
            }
            if (isLoop)
            {
                ChosenCardEffects.Remove(ChosenCardEffects.Find(c => c.Card == CardPlayed));
            }
        }
Example #6
0
 protected override void MoveToOriginalzone(CardComponent card)
 {
     card.CurrentZone.ZoneBehaviour = realZone[card.CurrentZone];
     if (CardPlayed == card && ChosenCardEffects.Find(c => c.Card == card).IsWithAnimation)
     {
         card.IsInCenterPreview = true;
     }
     else
     {
         card.MoveFast(card.CurrentZone, indexPosition: card.Position);
         card.Position = null;
     }
     AllComponents.Table.CenterPreview.ListCards.Remove(card);
 }
Example #7
0
        protected override void PlayableCards()
        {
            List <CardComponent> ListCardsToAssign = new List <CardComponent>();

            if (DamageAmount > TotalDamageAssign)
            {
                ListCardsToAssign.AddRange(Investigator.Assets.ListCards.FindAll(c => c.Info.Health > 0));
            }
            if (HorrorAmount > TotalDamageAssign)
            {
                ListCardsToAssign.AddRange(Investigator.Assets.ListCards.FindAll(c => c.Info.Sanity > 0).Except(ListCardsToAssign));
            }
            ListCardsToAssign.Add(Investigator.InvestigatorCardComponent);
            foreach (CardComponent card in ListCardsToAssign)
            {
                ChosenCardEffects.Add(new CardEffect(
                                          card: card,
                                          effect: () => null,
                                          type: EffectType.Choose,
                                          name: "Asignar puntos"));
            }
        }
Example #8
0
        public override void SetButton()
        {
            if (TotalDamageAssign >= DamageAmount && TotalHorrorAssign >= HorrorAmount)
            {
                AllComponents.ReadyButton.SetReadyButton(this, state: ButtonState.Ready);
            }
            else
            {
                AllComponents.ReadyButton.SetReadyButton(this, state: ButtonState.Off);
                AllComponents.ReadyButton.ChangeButtonText((DamageAmount - TotalDamageAssign) + " de daƱo por asignar." + Environment.NewLine + (HorrorAmount - TotalHorrorAssign) + " de horror por asignar.");
            }

            foreach (CardComponent card in ChosenCardEffects.Select(c => c.Card))
            {
                card.HealthToken.TokenText((card.HealthToken.Amount + card.HealthToken.AssignValue).ToString());
                card.HealthToken.ButtonUpActive(card.HealthToken.Amount + card.HealthToken.AssignValue < (card.Info.Health ?? 0) && DamageAmount - TotalDamageAssign > 0);
                card.HealthToken.ButtonDownActive(card.HealthToken.AssignValue > 0);

                card.SanityToken.TokenText((card.SanityToken.Amount + card.SanityToken.AssignValue).ToString());
                card.SanityToken.ButtonUpActive(card.SanityToken.Amount + card.SanityToken.AssignValue < (card.Info.Sanity ?? 0) && HorrorAmount - TotalHorrorAssign > 0);
                card.SanityToken.ButtonDownActive(card.SanityToken.AssignValue > 0);
            }
        }
Example #9
0
 public ChooseCardAction(CardEffect cardEffects, bool isOptionalChoice, bool isFastAction = false)
 {
     ChosenCardEffects.Add(cardEffects);
     this.isFastAction     = isFastAction;
     this.isOptionalChoice = isOptionalChoice;
 }
Example #10
0
 /*****************************************************************************************/
 public ChooseCardAction(CardEffect cardEffects, ref CardEffect cancelableCardEffect)
 {
     ChosenCardEffects.Add(cardEffects);
     this.cancelableCardEffect = cancelableCardEffect;
     isOptionalChoice          = cancelableCardEffect.IsCancelable;
 }
Example #11
0
 protected override void PlayableCards()
 {
     ChosenCardEffects = ChosenCardEffects.Except(ChosenCardEffects.FindAll(c => c.Card.IsEliminated)).ToList();
     CardEffects.AddRange(ChosenCardEffects);
 }