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); } } }