public void SetCardToField(Card card, Region region) { int CardNoWithSameName = -1; card.FrontShown = true; card.IsHorizontal = false; Card specard = SpecialLevelUp(card); if (specard != null) { CardNoWithSameName = specard.NumberInDeck; } else { if (Player.SearchCardsOnField(card.UnitName).Count > 1) { if (Language == Language.Chinese) { MessageBox.Show("战场上存在多张同名卡,请选择需要升级/转职的对象。", "存在同名卡", MessageBoxButtons.OK); } else { MessageBox.Show("There are several cards with same unitnames on field, please choose one to Lv Up/CC on.", "Same-name cards", MessageBoxButtons.OK); } SelectTargetCard selecttargetcard = new SelectTargetCard(Player, this, Player.SearchCardsOnField(card.UnitName)); if(DialogResult.OK==selecttargetcard.ShowDialog()) { CardNoWithSameName = selecttargetcard.Target.NumberInDeck; } } else if (Player.SearchCardsOnField(card.UnitName).Count == 1) { CardNoWithSameName = Player.SearchCardsOnField(card.UnitName)[0].NumberInDeck; } else { CardNoWithSameName = -1; } } if (Language == Language.Chinese) { if (CardNoWithSameName != -1) { OverlayQues overlayques = new OverlayQues(this); DialogResult Overlay = overlayques.ShowDialog(); if (Overlay == DialogResult.Yes) { Card OverlayedCard = Player.SearchCard(CardNoWithSameName); msgProcessor.Send("Overlay", "#从[" + GetRegionNameInString(card.BelongedRegion()) + "]将[" + GetRegionNameInString(OverlayedCard.BelongedRegion()) + "][" + OverlayedCard.CardName + "]升级/转职为[" + card.CardName + "](Lv" + (OverlayedCard.OverlayCardNo.Count + 2).ToString() + ")。"); Player.OverlayCard(card, CardNoWithSameName); } else if (Overlay == DialogResult.No) { Card GrownCard = Player.SearchCard(CardNoWithSameName); msgProcessor.Send("Grow", "#用[" + GetRegionNameInString(card.BelongedRegion()) + "][" + card.CardName + "]使[" + GetRegionNameInString(GrownCard.BelongedRegion()) + "][" + GrownCard.CardName + "]成长为Lv" + (GrownCard.OverlayCardNo.Count + 2).ToString() + "。"); Player.GrowCard(card, CardNoWithSameName); } else { msgProcessor.Send("Summon", "#从[" + GetRegionNameInString(card.BelongedRegion()) + "]将[" + card.CardName + "]出击到" + GetRegionNameInString(region) + "(已存在同角色名的单位)。"); Player.MoveCard(card, region); } } else { msgProcessor.Send("Summon", "#从[" + GetRegionNameInString(card.BelongedRegion()) + "]将[" + card.CardName + "]出击到" + GetRegionNameInString(region) + "。"); Player.MoveCard(card, region); } } else { if (CardNoWithSameName != -1) { OverlayQues overlayques = new OverlayQues(this); DialogResult Overlay = overlayques.ShowDialog(); if (Overlay == DialogResult.Yes) { Card OverlayedCard = Player.SearchCard(CardNoWithSameName); msgProcessor.Send("Overlay", "#From [" + GetRegionNameInString(card.BelongedRegion()) + "] Level up / Class Change [" + GetRegionNameInString(OverlayedCard.BelongedRegion()) + "][" + OverlayedCard.CardName + "] to [" + card.CardName + "](Lv" + (OverlayedCard.OverlayCardNo.Count + 2).ToString() + ")."); Player.OverlayCard(card, CardNoWithSameName); } else if (Overlay == DialogResult.No) { Card GrownCard = Player.SearchCard(CardNoWithSameName); msgProcessor.Send("Grow", "#Using [" + GetRegionNameInString(card.BelongedRegion()) + "][" + card.CardName + "] grow [" + GetRegionNameInString(GrownCard.BelongedRegion()) + "][" + GrownCard.CardName + "] to Lv" + (GrownCard.OverlayCardNo.Count + 2).ToString() + "."); Player.GrowCard(card, CardNoWithSameName); } else { msgProcessor.Send("Summon", "#From [" + GetRegionNameInString(card.BelongedRegion()) + "] deploy [" + card.CardName + "] to " + GetRegionNameInString(region) + "(unit with same name exists)."); Player.MoveCard(card, region); } } else { msgProcessor.Send("Summon", "#From [" + GetRegionNameInString(card.BelongedRegion()) + "] deploy [" + card.CardName + "] to " + GetRegionNameInString(region) + "."); Player.MoveCard(card, region); } } msgProcessor.Send("Update", ""); Renew(); }