Inheritance: System.Windows.Forms.Form
示例#1
0
        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();
        }