Ejemplo n.º 1
0
 public void TransformMinionsToBetter()
 {
     if (player.leftCoins >= Const.coinCostToBuyMinion)
     {
         List <KeyValuePair <Card, Card> > cards = new List <KeyValuePair <Card, Card> >();
         foreach (Card item in player.battlePile)
         {
             Card targetCard = cardPile.RandomlyGetBestCard(card => (
                                                                card.star <= player.star &&
                                                                CheckDuplicate(card) &&
                                                                CheckTransform(item.GetPositionTag(), card.GetPositionTag())) ? GetFit(card): -1);
             if (targetCard != null && GetFit(targetCard) > GetFit(item))
             {
                 cards.Add(new KeyValuePair <Card, Card>(item, targetCard));
             }
         }
         if (cards.Count != 0)
         {
             KeyValuePair <Card, Card> cardPair = cards.GetOneRandomly();
             int tmpID = cardPair.Key.id;
             cardPair.Key.TransformToNewCardWithEffectsForBoss(cardPair.Value.NewCard());
             cardPile.ReduceCard(CardBuilder.GetCard(cardPair.Value.id), 1);
             player.leftCoins -= Const.coinCostToBuyMinion;
             if (cardPair.Key.GetPositionTag() >= 3)
             {
                 cardPair.Key.RemoveKeyWord(Keyword.Taunt);
             }
             Debug.Log(player.hero.name + "购买了权值为" + GetFit(cardPair.Key) + "的" + cardPair.Key.name + "替换了权值为" + GetFit(CardBuilder.GetCard(tmpID)) + "的" + CardBuilder.GetCard(tmpID).name);
         }
     }
 }