FECipherVit.FECipherVit.升级转职ToolStripMenuItem_Click C# (CSharp) Method

升级转职ToolStripMenuItem_Click() private method

private 升级转职ToolStripMenuItem_Click ( object sender, EventArgs e ) : void
sender object
e EventArgs
return void
        private void 升级转职ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Card thisCard = ((CardPic)CardPicClicked).thisCard;
            int CardNoWithSameName = -1;
            thisCard.FrontShown = true;
            thisCard.IsHorizontal = false;
            Card specard = SpecialLevelUp(thisCard);
            if (specard != null)
            {
                CardNoWithSameName = specard.NumberInDeck;
            }
            else
            {
                if (Player.SearchCardsOnField(thisCard.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(thisCard.UnitName));
                    if (DialogResult.OK == selecttargetcard.ShowDialog())
                    {
                        CardNoWithSameName = selecttargetcard.Target.NumberInDeck;
                    }
                }
                else if (Player.SearchCardsOnField(thisCard.UnitName).Count == 1)
                {
                    CardNoWithSameName = Player.SearchCardsOnField(thisCard.UnitName)[0].NumberInDeck;
                }
                else
                {
                    CardNoWithSameName = -1;
                }
            }
            if (CardNoWithSameName != -1)
            {
                Card OverlayedCard = Player.SearchCard(CardNoWithSameName);
                if (Language == Language.Chinese)
                {
                    msgProcessor.Send("Overlay", "#从[" + GetRegionNameInString(thisCard.BelongedRegion()) + "]将[" + GetRegionNameInString(OverlayedCard.BelongedRegion()) + "][" + OverlayedCard.CardName + "]升级/转职为[" + thisCard.CardName + "](Lv" + (OverlayedCard.OverlayCardNo.Count + 2).ToString() + ")。");
                }
                else
                {
                    msgProcessor.Send("Overlay", "#From [" + GetRegionNameInString(thisCard.BelongedRegion()) + "] Level Up / Class Change[" + GetRegionNameInString(OverlayedCard.BelongedRegion()) + "][" + OverlayedCard.CardName + "] to [" + thisCard.CardName + "](Lv" + (OverlayedCard.OverlayCardNo.Count + 2).ToString() + ").");
                }
                Player.OverlayCard(thisCard, CardNoWithSameName);
                msgProcessor.Send("Update", "");
                Renew();
            }
            else
            {
                if (Language == Language.Chinese)
                {
                    MessageBox.Show("战场上没有同角色名的单位。", "升级/转职");
                }
                else
                {
                    MessageBox.Show("There is no unit with a same name on the field.", "Lv Up/CC");
                }
            }
        }
FECipherVit