FECipherVit.FECipherVit.contextMenuStrip_Card_Opening C# (CSharp) Method

contextMenuStrip_Card_Opening() private method

private contextMenuStrip_Card_Opening ( object sender, CancelEventArgs e ) : void
sender object
e CancelEventArgs
return void
        private void contextMenuStrip_Card_Opening(object sender, CancelEventArgs e)
        {
            if (contextMenuStrip_Card.SourceControl != null)
            {
                Card thisCard = ((CardPic)contextMenuStrip_Card.SourceControl).thisCard;
                if (PlayingEnabled)
                {
                    if (!WatchingMode)
                    {
                        if (Language == Language.Chinese)
                        {
                            contextMenuStrip_Card.Items.Clear();
                            其他ToolStripMenuItem.DropDownItems.Clear();
                            置于前卫区ToolStripMenuItem.Text = "置于前卫区";
                            置于后卫区ToolStripMenuItem.Text = "置于后卫区";
                            switch (((CardPic)contextMenuStrip_Card.SourceControl).Type)
                            {
                                case "Deck":
                                    contextMenuStrip_Card.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        抽卡ToolStripMenuItem,
                        抽复数张卡ToolStripMenuItem,
                        查看区域ToolStripMenuItem,
                        展示顶牌ToolStripMenuItem,
                        置于退避区ToolStripMenuItem,
                        将复数张顶牌置于退避区ToolStripMenuItem,
                        查看复数张顶牌ToolStripMenuItem,
                        置于宝玉区ToolStripMenuItem,
                        其他ToolStripMenuItem});
                                    查看区域ToolStripMenuItem.Text = "查看卡组:" + Player.Deck.CardList.Count.ToString() + "张";
                                    其他ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        置于前卫区ToolStripMenuItem,
                        置于后卫区ToolStripMenuItem,
                        置于羁绊区ToolStripMenuItem,
                        置于支援区ToolStripMenuItem
                    });
                                    break;
                                case "Hand":
                                    contextMenuStrip_Card.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        置于前卫区ToolStripMenuItem,
                        置于后卫区ToolStripMenuItem,
                        升级转职ToolStripMenuItem,
                        置于退避区ToolStripMenuItem,
                        置于羁绊区ToolStripMenuItem,
                        发动能力ToolStripMenuItem,
                        展示手牌ToolStripMenuItem,
                        其他ToolStripMenuItem});
                                    查看区域ToolStripMenuItem.Text = "查看手牌:" + Player.Hand.CardList.Count.ToString() + "张";
                                    其他ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        加入卡组ToolStripMenuItem,
                        置于支援区ToolStripMenuItem,
                        置于宝玉区ToolStripMenuItem,
                    });
                                    置于前卫区ToolStripMenuItem.Text = "出击到前卫区";
                                    置于后卫区ToolStripMenuItem.Text = "出击到后卫区";
                                    break;
                                case "Grave":
                                    contextMenuStrip_Card.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        查看区域ToolStripMenuItem,
                        其他ToolStripMenuItem});
                                    其他ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        加入卡组ToolStripMenuItem,
                        加入手牌ToolStripMenuItem,
                        置于前卫区ToolStripMenuItem,
                        置于后卫区ToolStripMenuItem,
                        置于羁绊区ToolStripMenuItem,
                        置于支援区ToolStripMenuItem,
                        置于宝玉区ToolStripMenuItem,
                    });
                                    查看区域ToolStripMenuItem.Text = "查看退避区:" + Player.Grave.CardList.Count.ToString() + "张";
                                    break;
                                case "Support":
                                    contextMenuStrip_Card.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        发动支援能力ToolStripMenuItem,
                        置于前卫区ToolStripMenuItem,
                        置于后卫区ToolStripMenuItem,
                        置于退避区ToolStripMenuItem,
                        其他ToolStripMenuItem});
                                    其他ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        加入卡组ToolStripMenuItem,
                        加入手牌ToolStripMenuItem,
                        置于羁绊区ToolStripMenuItem,
                        置于宝玉区ToolStripMenuItem,
                    });
                                    break;
                                case "Kizuna":
                                    contextMenuStrip_Card.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        翻面ToolStripMenuItem,
                        发动能力ToolStripMenuItem,
                        羁绊卡右移ToolStripMenuItem,
                        复数羁绊卡右移ToolStripMenuItem,
                        查看区域ToolStripMenuItem,
                        其他ToolStripMenuItem});
                                    查看区域ToolStripMenuItem.Text = "查看羁绊区:" + (Player.Kizuna.CardList.Count + Player.KizunaUsed.CardList.Count).ToString() + "张";
                                    其他ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        加入卡组ToolStripMenuItem,
                        加入手牌ToolStripMenuItem,
                        置于前卫区ToolStripMenuItem,
                        置于后卫区ToolStripMenuItem,
                        置于退避区ToolStripMenuItem,
                        置于支援区ToolStripMenuItem,
                        置于宝玉区ToolStripMenuItem });
                                    break;
                                case "KizunaUsed":
                                    contextMenuStrip_Card.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        翻面ToolStripMenuItem,
                        发动能力ToolStripMenuItem,
                        羁绊卡右移ToolStripMenuItem,
                        复数羁绊卡右移ToolStripMenuItem,
                        查看区域ToolStripMenuItem,
                        其他ToolStripMenuItem});
                                    查看区域ToolStripMenuItem.Text = "查看羁绊区:" + (Player.Kizuna.CardList.Count + Player.KizunaUsed.CardList.Count).ToString() + "张";
                                    其他ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        加入卡组ToolStripMenuItem,
                        加入手牌ToolStripMenuItem,
                        置于前卫区ToolStripMenuItem,
                        置于后卫区ToolStripMenuItem,
                        置于退避区ToolStripMenuItem,
                        置于支援区ToolStripMenuItem,
                        置于宝玉区ToolStripMenuItem });
                                    break;
                                case "Orb":
                                    contextMenuStrip_Card.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        查看区域ToolStripMenuItem,
                        加入手牌ToolStripMenuItem,
                        翻面ToolStripMenuItem,
                        查看宝玉ToolStripMenuItem,
                        其他ToolStripMenuItem});
                                    其他ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        加入卡组ToolStripMenuItem,
                        置于前卫区ToolStripMenuItem,
                        置于后卫区ToolStripMenuItem,
                        置于退避区ToolStripMenuItem,
                        置于羁绊区ToolStripMenuItem,
                        置于支援区ToolStripMenuItem });
                                    查看区域ToolStripMenuItem.Text = "宝玉区[" + (thisCard.BelongedRegion().CardList.IndexOf(thisCard) + 1).ToString() + "]";
                                    break;
                                case "FrontField":
                                    contextMenuStrip_Card.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        攻击ToolStripMenuItem,
                        移动ToolStripMenuItem,
                        横置竖置ToolStripMenuItem,
                        发动能力ToolStripMenuItem,
                        指定为对象ToolStripMenuItem,
                        置于退避区ToolStripMenuItem,
                        指示物ToolStripMenuItem,
                        查看叠放卡ToolStripMenuItem,
                        置于退避区仅顶牌ToolStripMenuItem,
                        其他ToolStripMenuItem});
                                    查看叠放卡ToolStripMenuItem.Text = "[" + thisCard.CardName + "] Lv" + (thisCard.OverlayCardNo.Count + 1).ToString();
                                    其他ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        加入卡组ToolStripMenuItem,
                        加入手牌ToolStripMenuItem,
                        置于羁绊区ToolStripMenuItem,
                        置于支援区ToolStripMenuItem,
                        置于宝玉区ToolStripMenuItem });
                                    break;
                                case "BackField":
                                    contextMenuStrip_Card.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        攻击ToolStripMenuItem,
                        移动ToolStripMenuItem,
                        横置竖置ToolStripMenuItem,
                        发动能力ToolStripMenuItem,
                        指定为对象ToolStripMenuItem,
                        置于退避区ToolStripMenuItem,
                        指示物ToolStripMenuItem,
                        查看叠放卡ToolStripMenuItem,
                        置于退避区仅顶牌ToolStripMenuItem,
                        其他ToolStripMenuItem});
                                    查看叠放卡ToolStripMenuItem.Text = "[" + thisCard.CardName + "] Lv" + (thisCard.OverlayCardNo.Count + 1).ToString();
                                    其他ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        加入卡组ToolStripMenuItem,
                        加入手牌ToolStripMenuItem,
                        置于羁绊区ToolStripMenuItem,
                        置于支援区ToolStripMenuItem,
                        置于宝玉区ToolStripMenuItem });
                                    break;
                            }
                        }
                        else
                        {
                            contextMenuStrip_Card.Items.Clear();
                            其他ToolStripMenuItem.DropDownItems.Clear();
                            置于前卫区ToolStripMenuItem.Text = "Place on Frontline";
                            置于后卫区ToolStripMenuItem.Text = "Place on Backline";
                            switch (((CardPic)contextMenuStrip_Card.SourceControl).Type)
                            {
                                case "Deck":
                                    contextMenuStrip_Card.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        抽卡ToolStripMenuItem,
                        抽复数张卡ToolStripMenuItem,
                        查看区域ToolStripMenuItem,
                        展示顶牌ToolStripMenuItem,
                        置于退避区ToolStripMenuItem,
                        将复数张顶牌置于退避区ToolStripMenuItem,
                        查看复数张顶牌ToolStripMenuItem,
                        置于宝玉区ToolStripMenuItem,
                        其他ToolStripMenuItem});
                                    查看区域ToolStripMenuItem.Text = "Check Deck: " + Player.Deck.CardList.Count.ToString();
                                    其他ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        置于前卫区ToolStripMenuItem,
                        置于后卫区ToolStripMenuItem,
                        置于羁绊区ToolStripMenuItem,
                        置于支援区ToolStripMenuItem
                    });
                                    break;
                                case "Hand":
                                    contextMenuStrip_Card.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        置于前卫区ToolStripMenuItem,
                        置于后卫区ToolStripMenuItem,
                        升级转职ToolStripMenuItem,
                        置于退避区ToolStripMenuItem,
                        置于羁绊区ToolStripMenuItem,
                        发动能力ToolStripMenuItem,
                        展示手牌ToolStripMenuItem,
                        其他ToolStripMenuItem});
                                    查看区域ToolStripMenuItem.Text = "Check Hand: " + Player.Hand.CardList.Count.ToString();
                                    其他ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        加入卡组ToolStripMenuItem,
                        置于支援区ToolStripMenuItem,
                        置于宝玉区ToolStripMenuItem,
                    });
                                    置于前卫区ToolStripMenuItem.Text = "Deploy to Frontline";
                                    置于后卫区ToolStripMenuItem.Text = "Deploy to Backline";
                                    break;
                                case "Grave":
                                    contextMenuStrip_Card.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        查看区域ToolStripMenuItem,
                        其他ToolStripMenuItem});
                                    其他ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        加入卡组ToolStripMenuItem,
                        加入手牌ToolStripMenuItem,
                        置于前卫区ToolStripMenuItem,
                        置于后卫区ToolStripMenuItem,
                        置于羁绊区ToolStripMenuItem,
                        置于支援区ToolStripMenuItem,
                        置于宝玉区ToolStripMenuItem,
                    });
                                    查看区域ToolStripMenuItem.Text = "Check Retreat: " + Player.Grave.CardList.Count.ToString();
                                    break;
                                case "Support":
                                    contextMenuStrip_Card.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        发动支援能力ToolStripMenuItem,
                        置于前卫区ToolStripMenuItem,
                        置于后卫区ToolStripMenuItem,
                        置于退避区ToolStripMenuItem,
                        其他ToolStripMenuItem});
                                    其他ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        加入卡组ToolStripMenuItem,
                        加入手牌ToolStripMenuItem,
                        置于羁绊区ToolStripMenuItem,
                        置于宝玉区ToolStripMenuItem,
                    });
                                    break;
                                case "Kizuna":
                                    contextMenuStrip_Card.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        翻面ToolStripMenuItem,
                        发动能力ToolStripMenuItem,
                        羁绊卡右移ToolStripMenuItem,
                        复数羁绊卡右移ToolStripMenuItem,
                        查看区域ToolStripMenuItem,
                        其他ToolStripMenuItem});
                                    查看区域ToolStripMenuItem.Text = "Check Bond: " + (Player.Kizuna.CardList.Count + Player.KizunaUsed.CardList.Count).ToString();
                                    其他ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        加入卡组ToolStripMenuItem,
                        加入手牌ToolStripMenuItem,
                        置于前卫区ToolStripMenuItem,
                        置于后卫区ToolStripMenuItem,
                        置于退避区ToolStripMenuItem,
                        置于支援区ToolStripMenuItem,
                        置于宝玉区ToolStripMenuItem });
                                    break;
                                case "KizunaUsed":
                                    contextMenuStrip_Card.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        翻面ToolStripMenuItem,
                        发动能力ToolStripMenuItem,
                        羁绊卡右移ToolStripMenuItem,
                        复数羁绊卡右移ToolStripMenuItem,
                        查看区域ToolStripMenuItem,
                        其他ToolStripMenuItem});
                                    查看区域ToolStripMenuItem.Text = "Check Bond: " + (Player.Kizuna.CardList.Count + Player.KizunaUsed.CardList.Count).ToString();
                                    其他ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        加入卡组ToolStripMenuItem,
                        加入手牌ToolStripMenuItem,
                        置于前卫区ToolStripMenuItem,
                        置于后卫区ToolStripMenuItem,
                        置于退避区ToolStripMenuItem,
                        置于支援区ToolStripMenuItem,
                        置于宝玉区ToolStripMenuItem });
                                    break;
                                case "Orb":
                                    contextMenuStrip_Card.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        查看区域ToolStripMenuItem,
                        加入手牌ToolStripMenuItem,
                        翻面ToolStripMenuItem,
                        查看宝玉ToolStripMenuItem,
                        其他ToolStripMenuItem});
                                    其他ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        加入卡组ToolStripMenuItem,
                        置于前卫区ToolStripMenuItem,
                        置于后卫区ToolStripMenuItem,
                        置于退避区ToolStripMenuItem,
                        置于羁绊区ToolStripMenuItem,
                        置于支援区ToolStripMenuItem });
                                    查看区域ToolStripMenuItem.Text = "Orb[" + (thisCard.BelongedRegion().CardList.IndexOf(thisCard) + 1).ToString() + "]";
                                    break;
                                case "FrontField":
                                    contextMenuStrip_Card.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        攻击ToolStripMenuItem,
                        移动ToolStripMenuItem,
                        横置竖置ToolStripMenuItem,
                        发动能力ToolStripMenuItem,
                        指定为对象ToolStripMenuItem,
                        置于退避区ToolStripMenuItem,
                        指示物ToolStripMenuItem,
                        查看叠放卡ToolStripMenuItem,
                        置于退避区仅顶牌ToolStripMenuItem,
                        其他ToolStripMenuItem});
                                    查看叠放卡ToolStripMenuItem.Text = "[" + thisCard.CardName + "] Lv" + (thisCard.OverlayCardNo.Count + 1).ToString();
                                    其他ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        加入卡组ToolStripMenuItem,
                        加入手牌ToolStripMenuItem,
                        置于羁绊区ToolStripMenuItem,
                        置于支援区ToolStripMenuItem,
                        置于宝玉区ToolStripMenuItem });
                                    break;
                                case "BackField":
                                    contextMenuStrip_Card.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        攻击ToolStripMenuItem,
                        移动ToolStripMenuItem,
                        横置竖置ToolStripMenuItem,
                        发动能力ToolStripMenuItem,
                        指定为对象ToolStripMenuItem,
                        置于退避区ToolStripMenuItem,
                        指示物ToolStripMenuItem,
                        查看叠放卡ToolStripMenuItem,
                        置于退避区仅顶牌ToolStripMenuItem,
                        其他ToolStripMenuItem});
                                    查看叠放卡ToolStripMenuItem.Text = "[" + thisCard.CardName + "] Lv" + (thisCard.OverlayCardNo.Count + 1).ToString();
                                    其他ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
                        加入卡组ToolStripMenuItem,
                        加入手牌ToolStripMenuItem,
                        置于羁绊区ToolStripMenuItem,
                        置于支援区ToolStripMenuItem,
                        置于宝玉区ToolStripMenuItem });
                                    break;
                            }
                        }
                    }
                    else
                    {
                        if (Language == Language.Chinese)
                        {
                            contextMenuStrip_Card.Items.Clear();
                            switch (((CardPic)contextMenuStrip_Card.SourceControl).Type)
                            {
                                case "Deck":
                                    contextMenuStrip_Card.Items.Add(查看区域ToolStripMenuItem);
                                    查看区域ToolStripMenuItem.Text = "卡组:" + Player.Deck.CardList.Count.ToString() + "张";
                                    break;
                                case "Hand":
                                    contextMenuStrip_Card.Items.Add(查看区域ToolStripMenuItem);
                                    查看区域ToolStripMenuItem.Text = "查看手牌:" + Player.Hand.CardList.Count.ToString() + "张";
                                    break;
                                case "Grave":
                                    contextMenuStrip_Card.Items.Add(查看区域ToolStripMenuItem);
                                    查看区域ToolStripMenuItem.Text = "查看退避区:" + Player.Grave.CardList.Count.ToString() + "张";
                                    break;
                                case "Support":
                                    break;
                                case "Kizuna":
                                    contextMenuStrip_Card.Items.Add(查看区域ToolStripMenuItem);
                                    查看区域ToolStripMenuItem.Text = "查看羁绊区:" + (Player.Kizuna.CardList.Count + Player.KizunaUsed.CardList.Count).ToString() + "张";
                                    break;
                                case "KizunaUsed":
                                    contextMenuStrip_Card.Items.Add(查看区域ToolStripMenuItem);
                                    查看区域ToolStripMenuItem.Text = "查看羁绊区:" + (Player.Kizuna.CardList.Count + Player.KizunaUsed.CardList.Count).ToString() + "张";
                                    break;
                                case "Orb":
                                    contextMenuStrip_Card.Items.Add(查看区域ToolStripMenuItem);
                                    查看区域ToolStripMenuItem.Text = "宝玉区:" + Player.Orb.CardList.Count.ToString() + "张";
                                    break;
                                case "FrontField":
                                    contextMenuStrip_Card.Items.Add(查看叠放卡ToolStripMenuItem);
                                    查看叠放卡ToolStripMenuItem.Text = "[" + thisCard.CardName + "] Lv" + (thisCard.OverlayCardNo.Count + 1).ToString();
                                    break;
                                case "BackField":
                                    contextMenuStrip_Card.Items.Add(查看叠放卡ToolStripMenuItem);
                                    查看叠放卡ToolStripMenuItem.Text = "[" + thisCard.CardName + "] Lv" + (thisCard.OverlayCardNo.Count + 1).ToString();
                                    break;
                            }
                        }
                        else
                        {
                            contextMenuStrip_Card.Items.Clear();
                            switch (((CardPic)contextMenuStrip_Card.SourceControl).Type)
                            {
                                case "Deck":
                                    contextMenuStrip_Card.Items.Add(查看区域ToolStripMenuItem);
                                    查看区域ToolStripMenuItem.Text = "Deck: " + Player.Deck.CardList.Count.ToString();
                                    break;
                                case "Hand":
                                    contextMenuStrip_Card.Items.Add(查看区域ToolStripMenuItem);
                                    查看区域ToolStripMenuItem.Text = "Check Hand: " + Player.Hand.CardList.Count.ToString();
                                    break;
                                case "Grave":
                                    contextMenuStrip_Card.Items.Add(查看区域ToolStripMenuItem);
                                    查看区域ToolStripMenuItem.Text = "Check Retreat: " + Player.Grave.CardList.Count.ToString();
                                    break;
                                case "Support":
                                    break;
                                case "Kizuna":
                                    contextMenuStrip_Card.Items.Add(查看区域ToolStripMenuItem);
                                    查看区域ToolStripMenuItem.Text = "Check Bond: " + (Player.Kizuna.CardList.Count + Player.KizunaUsed.CardList.Count).ToString();
                                    break;
                                case "KizunaUsed":
                                    contextMenuStrip_Card.Items.Add(查看区域ToolStripMenuItem);
                                    查看区域ToolStripMenuItem.Text = "Check Bond: " + (Player.Kizuna.CardList.Count + Player.KizunaUsed.CardList.Count).ToString();
                                    break;
                                case "Orb":
                                    contextMenuStrip_Card.Items.Add(查看区域ToolStripMenuItem);
                                    查看区域ToolStripMenuItem.Text = "Orb: " + Player.Orb.CardList.Count.ToString();
                                    break;
                                case "FrontField":
                                    contextMenuStrip_Card.Items.Add(查看叠放卡ToolStripMenuItem);
                                    查看叠放卡ToolStripMenuItem.Text = "[" + thisCard.CardName + "] Lv" + (thisCard.OverlayCardNo.Count + 1).ToString();
                                    break;
                                case "BackField":
                                    contextMenuStrip_Card.Items.Add(查看叠放卡ToolStripMenuItem);
                                    查看叠放卡ToolStripMenuItem.Text = "[" + thisCard.CardName + "] Lv" + (thisCard.OverlayCardNo.Count + 1).ToString();
                                    break;
                            }
                        }
                    }
                }
            }
        }
FECipherVit