Esempio n. 1
0
 /// <summary>
 /// F5快捷键
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void Window_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.Key == Key.F5)
     {
         DuelOperate.getInstance().DuelStart();
     }
 }
Esempio n. 2
0
 /// <summary>
 /// 聊天框的回车事件
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 public static void tb_chatsend_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.Key == Key.Enter)
     {
         DuelOperate.getInstance().chatOrLife();
     }
 }
Esempio n. 3
0
        /// <summary>
        /// 开局按钮事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public static void btn_start(object sender, RoutedEventArgs e)
        {
            DuelOperate duel = DuelOperate.getInstance();

            duel.Dispose();
            //duel = DuelOperate.getInstance();
            duel.DuelStart();
        }
Esempio n. 4
0
 private void tb_setDuelistName_TextChanged(object sender, TextChangedEventArgs e)
 {
     Console.WriteLine("tb_setDuelistName_TextChanged");
     tbk_myname.Text = tb_Duelist.Text;
     if (DuelOperate.isExist())
     {
         DuelOperate.getInstance().myself.name = tb_Duelist.Text;
     }
 }
Esempio n. 5
0
        public DragAdorner(UIElement owner, UIElement adornElement, double opacity, Status status)
            : base(owner)
        {
            this._owner = owner;

            Rectangle r = new Rectangle();

            r.RadiusX = 3;
            r.RadiusY = 3;

            r.Width  = adornElement.DesiredSize.Width;
            r.Height = adornElement.DesiredSize.Height;

            XCenter = adornElement.DesiredSize.Width / 2;
            YCenter = adornElement.DesiredSize.Height / 2;

            VisualBrush _brush;
            Image       img = new Image();

            img.Source = DuelOperate.getInstance().myself.cardback;
            _brush     = new VisualBrush(img);

            CardUI card = adornElement as CardUI;

            if (status == Status.BACK_ATK || status == Status.BACK_DEF)
            {
                //Image img = new Image();
                img.Source = card.backImage;
                _brush     = new VisualBrush(img);
            }
            else
            {
                img.Source = card.originalImage;
                //if (isdef)
                //{
                //    r.Height = adornElement.DesiredSize.Width;
                //    r.Width = adornElement.DesiredSize.Height;
                //}

                _brush = new VisualBrush(img);
            }
            if (status == Status.BACK_DEF || status == Status.FRONT_DEF)
            {
                r.RenderTransformOrigin = new Point(0.5, 0.5);
                r.RenderTransform       = new RotateTransform(-90);
            }

            _brush.Opacity = opacity;


            r.Fill      = _brush;
            this._child = r;
        }
Esempio n. 6
0
        /// <summary>
        /// 卡组管理按钮事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public static void btn_deck(object sender, RoutedEventArgs e)
        {
            Button btn = e.Source as Button;

            if (btn.Content.Equals("卡组管理"))
            {
                DuelOperate.getInstance().ShowDeck();
            }
            else if (btn.Content.Equals("确认选择"))
            {
                DuelOperate.getInstance().SetDeck(btn);
            }
        }
Esempio n. 7
0
        //public static bool doubleclick = false;

        /// <summary>
        /// 阶段宣言按钮的单击事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public static void Rectangle_MouseDown(object sender, MouseButtonEventArgs e)
        {
            Rectangle rta = sender as Rectangle;

            if (DuelOperate.isExist())
            {
                DuelOperate.getInstance().ChangePhase(rta);
            }
            else
            {
                MessageBox.Show("决斗还未开始!");
            }
        }
Esempio n. 8
0
        internal static void btn_sideMode(object sender, RoutedEventArgs e)
        {
            Button btn = e.Source as Button;

            if (btn.Content.Equals("更换SIDE"))
            {
                DuelOperate.getInstance().sideMode();
            }
            else if (btn.Content.Equals("确认更换"))
            {
                DuelOperate.getInstance().sideModeEnd();
                //DuelOperate.getInstance().sideModeSure();
            }
        }
Esempio n. 9
0
        /// <summary>
        /// 通过八位密码获取一张卡片
        /// </summary>
        /// <param name="cheatcode">八位密码</param>
        /// <returns>卡片</returns>
        public static CardUI getCardWithInfoByCheatcode(string cheatcode)
        {
            CardInfo info = getCardInfoByCheatcode(cheatcode);

            if (info == null)
            {
                MessageBox.Show("初始化获取卡片信息失败");
                return(null);
            }
            CardUI card = new CardUI(DuelOperate.getInstance().myself.cardback);

            card.initCardInfo(info);
            //card.info = info;
            return(card);
        }
Esempio n. 10
0
        /// <summary>
        /// 卡片进入墓地时,墓地控件的操作
        /// </summary>
        /// <param name="cv">墓地控件</param>
        /// <param name="card">卡片</param>
        public static void add2Graveyrad(MyCanvas cv, CardUI card)
        {
            card.reSetAtk();
            card.centerAtVerticalInParent();
            card.clearSigns();
            if (card.Status == Status.BACK_ATK)
            {
                CardAnimation.turn(card);
            }
            else
            {
                card.set2FrontAtk();
            }

            card.ContextMenu = AllMenu.Instance.cm_graveyard;


            #region 指令发送

            MoveInfo moveInfo = new MoveInfo();
            moveInfo.cardID    = CardOperate.getCardID(card);
            moveInfo.isAdd     = true;
            moveInfo.aimArea   = cv.area;
            moveInfo.aimStatus = Status.FRONT_ATK;
            String contentJson = JsonConvert.SerializeObject(moveInfo);

            BaseJson bj = new BaseJson();
            bj.guid   = DuelOperate.getInstance().myself.userindex;
            bj.cid    = "";
            bj.action = ActionCommand.CARD_MOVE;
            bj.json   = contentJson;
            String json = JsonConvert.SerializeObject(bj);
            DuelOperate.getInstance().sendMsg(json);

            #endregion
            //card.set2FrontAtk();
        }
        private void sendSignInfo()
        {
            #region 指令发送

            SignInfo signInfo = new SignInfo();
            int      cardid   = CardOperate.getCardID(this.Tag as CardUI);
            signInfo.cardID = cardid;
            StackPanel sp = this.Parent as StackPanel;
            foreach (SignTextBlock item in sp.Children)
            {
                signInfo.signs.Add(new SignInfo.SignMessage(item.BorderBrush, item.Content.ToString(), item.ToolTip == null ? null : item.ToolTip.ToString()));
            }
            String contentJson = JsonConvert.SerializeObject(signInfo);

            BaseJson bj = new BaseJson();
            bj.guid   = DuelOperate.getInstance().myself.userindex;
            bj.cid    = "";
            bj.action = ActionCommand.CARD_SIGN_ACTION;
            bj.json   = contentJson;
            String json = JsonConvert.SerializeObject(bj);
            DuelOperate.getInstance().sendMsg(json);

            #endregion
        }
Esempio n. 12
0
        public void SetPic()
        {
            if (isBack)
            {
                if (!CardOperate.cv_monsters_1.Contains(this.Parent) &&
                    !CardOperate.cv_magictraps_1.Contains(this.Parent) &&
                    !CardOperate.cv_others_1.Contains(this.Parent)
                    )
                {
                    if (DuelOperate.getInstance().opponent.cardback != null)
                    {
                        Source = DuelOperate.getInstance().opponent.cardback;
                    }
                    else
                    {
                        Source = new BitmapImage(new Uri("/Image/Cardback.jpg", UriKind.Relative));
                    }
                }
                else
                {
                    //string str = System.IO.Directory.GetCurrentDirectory() + "\\Data\\Cardback\\0.jpg";
                    if (DuelOperate.getInstance().myself.cardback != null)
                    {
                        Source = DuelOperate.getInstance().myself.cardback;
                    }
                    else
                    {
                        Source = new BitmapImage(new Uri("/Image/Cardback.jpg", UriKind.Relative));
                    }
                }
            }
            else
            {
                //先从本地卡图库取图
                if (img != null)
                {
                    Source = img;
                    return;
                }
                string str = System.IO.Directory.GetCurrentDirectory() + "\\image\\" + Uid + ".jpg";
                if (System.IO.File.Exists(str))
                {
                    //BitmapImage image = new BitmapImage(new Uri(str, UriKind.Absolute));
                    img    = new BitmapImage(new Uri(str, UriKind.Absolute));
                    Source = img;
                }
                else
                {
                    //不存在则从使用程序自带默认

                    if (sCardType.Contains("怪兽"))
                    {
                        if (CardDType.Contains("灵摆"))
                        {
                            if (sCardType.Contains("通常"))
                            {
                                img    = new BitmapImage(new Uri("/Image/Cardpic/GLTT.jpg", UriKind.Relative));
                                Source = img;
                                return;
                            }
                            if (sCardType.Contains("效果"))
                            {
                                img    = new BitmapImage(new Uri("/Image/Cardpic/GLXG.jpg", UriKind.Relative));
                                Source = img;
                                return;
                            }
                        }
                        if (CardDType.Contains("同调"))
                        {
                            img    = new BitmapImage(new Uri("/Image/Cardpic/GTT.jpg", UriKind.Relative));
                            Source = img;
                            return;
                        }
                        if (sCardType.Contains("XYZ"))
                        {
                            img    = new BitmapImage(new Uri("/Image/Cardpic/GXYZ.jpg", UriKind.Relative));
                            Source = img;
                            return;
                        }
                        if (sCardType.Contains("仪式"))
                        {
                            img    = new BitmapImage(new Uri("/Image/Cardpic/GRH.jpg", UriKind.Relative));
                            Source = img;
                            return;
                        }

                        if (sCardType.Contains("融合"))
                        {
                            img    = new BitmapImage(new Uri("/Image/Cardpic/GY.jpg", UriKind.Relative));
                            Source = img;
                            return;
                        }

                        if (sCardType.Contains("通常"))
                        {
                            img    = new BitmapImage(new Uri("/Image/Cardpic/GTC.jpg", UriKind.Relative));
                            Source = img;
                            return;
                        }
                        if (sCardType.Contains("效果"))
                        {
                            img    = new BitmapImage(new Uri("/Image/Cardpic/GXG.jpg", UriKind.Relative));
                            Source = img;
                            return;
                        }
                    }
                    if (sCardType.Contains("魔法"))
                    {
                        img    = new BitmapImage(new Uri("/Image/Cardpic/MF.jpg", UriKind.Relative));
                        Source = img;
                        return;
                    }
                    if (sCardType.Contains("陷阱"))
                    {
                        img    = new BitmapImage(new Uri("/Image/Cardpic/XJ.jpg", UriKind.Relative));
                        Source = img;
                        return;
                    }
                }
            }
            //string str = isBack ? System.IO.Directory.GetCurrentDirectory() + "\\image\\0.jpg" : System.IO.Directory.GetCurrentDirectory() + "\\image\\" + Uid + ".jpg" ;
            //BitmapImage image = new BitmapImage(new Uri(str, UriKind.Absolute));//载入图片
        }
Esempio n. 13
0
        private void handleCardback(byte[] img)
        {
            BitmapImage opCardback = BitmapImagehandle.ByteArrayToBitmapImage(img);

            DuelOperate.getInstance().opponent.cardback = opCardback;
        }
Esempio n. 14
0
 //添加处理action传送调用的被委托的方法
 private void handleMsg(string msg)
 {
     DuelOperate.getInstance().receiveMsg(msg);
 }
Esempio n. 15
0
 /// <summary>
 /// 先攻按钮事件
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 public static void btn_firstAtk(object sender, RoutedEventArgs e)
 {
     DuelOperate.getInstance().FirstAtk();
 }
Esempio n. 16
0
 public static void ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     DuelOperate.getInstance().ChooseDeck(e.AddedItems[0]);
 }
Esempio n. 17
0
 internal static void btn_coin(object sender, RoutedEventArgs e)
 {
     DuelOperate.getInstance().coin();
 }
Esempio n. 18
0
        //CardView cardview2 = new CardView();

        public MainWindow()
        {
            InitializeComponent();

            #region 设置攻守显示的数据绑定

            /*
             * 1.因为在Xaml定义中,无法对转换器参数传送对象,顾以代码形式定义
             * 2.且如果Xaml定义中在转换器中使用MainWindow对象时,比如通过App获得运行窗体的对象引用,
             * 会导致Xaml页面报空指针错误导致页面无法编辑,尽管不影响代码
             */
            for (int i = 1; i < 3; i++)
            {
                for (int j = 6; j < 11; j++)
                {
                    //定义并初始化一个绑定
                    Binding textBinding = new Binding();
                    textBinding.Mode = BindingMode.OneWay;
                    //设置要绑定源控件
                    textBinding.ElementName = "card_" + i + "_" + j;
                    //设置要绑定属性
                    textBinding.Path = new PropertyPath("Children.Count");
                    //设置转换器
                    if (i == 1)
                    {
                        textBinding.Converter = this.TryFindResource("CountToDimensionConverter2") as IValueConverter;
                    }
                    else if (i == 2)
                    {
                        textBinding.Converter = this.TryFindResource("CountToDimensionConverter3") as IValueConverter;
                    }

                    //给转换器传送参数
                    textBinding.ConverterParameter = this.FindName("card_" + i + "_" + j);
                    //设置绑定到要绑定的控件
                    //TextBlock tb = this.FindName("atk_" + i + "_" + j) as TextBlock;
                    //tb.SetBinding(TextBlock.TextProperty, textBinding);
                }
            }



            #endregion

            #region <-- 初始化卡片预览框 -->
            cardview = CardView.getInstance(this);
            #endregion

            #region <-- 传递主窗口引用 -->
            CardAnimation.mainwindow   = this;
            MenuItemOperate.mainwindow = this;
            CardOperate.mainwindow     = this;
            OpponentOperate.mainwindow = this;
            Base.mainwindow            = this;
            UIAnimation.mainwindow     = this;

            #endregion

            #region <-- 传递控件组引用 -->

            for (int i = 1; i < 3; i++)
            {
                for (int j = 1; j < 6; j++)
                {
                    if (i == 1)
                    {
                        CardOperate.cv_magictraps_1.Add(this.battle_zone_middle.FindName("card_" + i + "_" + j) as FrameworkElement);
                    }
                    else if (i == 2)
                    {
                        CardOperate.cv_magictraps_2.Add(this.battle_zone_middle.FindName("card_" + i + "_" + j) as FrameworkElement);
                    }
                }
                for (int k = 6; k < 11; k++)
                {
                    if (i == 1)
                    {
                        CardOperate.cv_monsters_1.Add(this.battle_zone_middle.FindName("card_" + i + "_" + k) as FrameworkElement);
                    }
                    else if (i == 2)
                    {
                        CardOperate.cv_monsters_2.Add(this.battle_zone_middle.FindName("card_" + i + "_" + k) as FrameworkElement);
                    }
                }
            }
            CardOperate.cv_others_1.Add(this.card_1_Deck);
            CardOperate.cv_others_1.Add(this.card_1_Extra);
            CardOperate.cv_others_1.Add(this.card_1_Outside);
            CardOperate.cv_others_1.Add(this.card_1_Graveyard);
            CardOperate.cv_others_1.Add(this.card_1_Left);
            CardOperate.cv_others_1.Add(this.card_1_Right);
            CardOperate.cv_others_1.Add(this.card_1_Area);

            CardOperate.cv_others_2.Add(this.card_2_Deck);
            CardOperate.cv_others_2.Add(this.card_2_Extra);
            CardOperate.cv_others_2.Add(this.card_2_Outside);
            CardOperate.cv_others_2.Add(this.card_2_Graveyard);
            CardOperate.cv_others_2.Add(this.card_2_Left);
            CardOperate.cv_others_2.Add(this.card_2_Right);
            CardOperate.cv_others_2.Add(this.card_2_Area);

            #endregion


            #region 绑定怪物区卡片控件和攻守控件
            card_1_6.tb_atkDef  = atk_1_6;
            card_1_7.tb_atkDef  = atk_1_7;
            card_1_8.tb_atkDef  = atk_1_8;
            card_1_9.tb_atkDef  = atk_1_9;
            card_1_10.tb_atkDef = atk_1_10;

            #endregion

            #region 绑定卡区控件和指示物控件

            card_1_1.signs     = sp_sign_1_1;
            card_1_2.signs     = sp_sign_1_2;
            card_1_3.signs     = sp_sign_1_3;
            card_1_4.signs     = sp_sign_1_4;
            card_1_5.signs     = sp_sign_1_5;
            card_1_6.signs     = sp_sign_1_6;
            card_1_7.signs     = sp_sign_1_7;
            card_1_8.signs     = sp_sign_1_8;
            card_1_9.signs     = sp_sign_1_9;
            card_1_10.signs    = sp_sign_1_10;
            card_1_Left.signs  = sp_sign_left;
            card_1_Right.signs = sp_sign_right;

            card_2_1.signs     = sp_sign_2_1;
            card_2_2.signs     = sp_sign_2_2;
            card_2_3.signs     = sp_sign_2_3;
            card_2_4.signs     = sp_sign_2_4;
            card_2_5.signs     = sp_sign_2_5;
            card_2_6.signs     = sp_sign_2_6;
            card_2_7.signs     = sp_sign_2_7;
            card_2_8.signs     = sp_sign_2_8;
            card_2_9.signs     = sp_sign_2_9;
            card_2_10.signs    = sp_sign_2_10;
            card_2_Left.signs  = sp_sign_left_op;
            card_2_Right.signs = sp_sign_right_op;

            #endregion

            #region <-- 注册场地控件的拖放事件 -->

            card_1_1.DragOver += new DragEventHandler(DuelEvent.card_DragOver);
            card_1_2.DragOver += new DragEventHandler(DuelEvent.card_DragOver);
            card_1_3.DragOver += new DragEventHandler(DuelEvent.card_DragOver);
            card_1_4.DragOver += new DragEventHandler(DuelEvent.card_DragOver);
            card_1_5.DragOver += new DragEventHandler(DuelEvent.card_DragOver);
            card_1_1.Drop     += new DragEventHandler(DuelEvent.card_Drop_Magic);
            card_1_2.Drop     += new DragEventHandler(DuelEvent.card_Drop_Magic);
            card_1_3.Drop     += new DragEventHandler(DuelEvent.card_Drop_Magic);
            card_1_4.Drop     += new DragEventHandler(DuelEvent.card_Drop_Magic);
            card_1_5.Drop     += new DragEventHandler(DuelEvent.card_Drop_Magic);

            card_1_6.DragOver  += new DragEventHandler(DuelEvent.card_DragOver);
            card_1_7.DragOver  += new DragEventHandler(DuelEvent.card_DragOver);
            card_1_8.DragOver  += new DragEventHandler(DuelEvent.card_DragOver);
            card_1_9.DragOver  += new DragEventHandler(DuelEvent.card_DragOver);
            card_1_10.DragOver += new DragEventHandler(DuelEvent.card_DragOver);
            card_1_6.Drop      += new DragEventHandler(DuelEvent.card_Drop_Monster);
            card_1_7.Drop      += new DragEventHandler(DuelEvent.card_Drop_Monster);
            card_1_8.Drop      += new DragEventHandler(DuelEvent.card_Drop_Monster);
            card_1_9.Drop      += new DragEventHandler(DuelEvent.card_Drop_Monster);
            card_1_10.Drop     += new DragEventHandler(DuelEvent.card_Drop_Monster);

            card_1_Deck.ContextMenu          = AllMenu.Instance.cm_deck;
            card_1_Deck.DragOver            += new DragEventHandler(DuelEvent.card_DragOver);
            card_1_Deck.Drop                += new DragEventHandler(DuelEvent.card_Drop_Main);
            card_1_Extra.DragOver           += new DragEventHandler(DuelEvent.card_DragOver);
            card_1_Extra.Drop               += new DragEventHandler(DuelEvent.card_Drop_Extra);
            card_1_hand.DragOver            += new DragEventHandler(DuelEvent.card_DragOver);
            card_1_hand.Drop                += new DragEventHandler(DuelEvent.card_Drop_Hand);
            card_1_Left.DragOver            += new DragEventHandler(DuelEvent.card_DragOver);
            card_1_Left.Drop                += DuelEvent.card_Drop_Pendulum;
            card_1_Left.WhenAddChildren     += CardAreaEvent.add2Pendulum;
            card_1_Left.WhenRemoveChildren  += CardAreaEvent.removeFromPendulum;
            card_1_Right.DragOver           += new DragEventHandler(DuelEvent.card_DragOver);
            card_1_Right.Drop               += DuelEvent.card_Drop_Pendulum;
            card_1_Right.WhenAddChildren    += CardAreaEvent.add2Pendulum;
            card_1_Right.WhenRemoveChildren += CardAreaEvent.removeFromPendulum;
            card_1_Graveyard.DragOver       += new DragEventHandler(DuelEvent.card_DragOver);


            card_1_Graveyard.Drop   += new DragEventHandler(DuelEvent.card_Drop_Graveyard);
            card_1_Outside.DragOver += new DragEventHandler(DuelEvent.card_DragOver);
            card_1_Outside.Drop     += new DragEventHandler(DuelEvent.card_Drop_Outside);

            card_2_1.DragOver += new DragEventHandler(DuelEvent.card_DragOver);
            card_2_2.DragOver += new DragEventHandler(DuelEvent.card_DragOver);
            card_2_3.DragOver += new DragEventHandler(DuelEvent.card_DragOver);
            card_2_4.DragOver += new DragEventHandler(DuelEvent.card_DragOver);
            card_2_5.DragOver += new DragEventHandler(DuelEvent.card_DragOver);
            card_2_1.Drop     += new DragEventHandler(DuelEvent.card_Drop_OpMagic);
            card_2_2.Drop     += new DragEventHandler(DuelEvent.card_Drop_OpMagic);
            card_2_3.Drop     += new DragEventHandler(DuelEvent.card_Drop_OpMagic);
            card_2_4.Drop     += new DragEventHandler(DuelEvent.card_Drop_OpMagic);
            card_2_5.Drop     += new DragEventHandler(DuelEvent.card_Drop_OpMagic);

            card_2_6.DragOver  += new DragEventHandler(DuelEvent.card_DragOver);
            card_2_7.DragOver  += new DragEventHandler(DuelEvent.card_DragOver);
            card_2_8.DragOver  += new DragEventHandler(DuelEvent.card_DragOver);
            card_2_9.DragOver  += new DragEventHandler(DuelEvent.card_DragOver);
            card_2_10.DragOver += new DragEventHandler(DuelEvent.card_DragOver);
            card_2_6.Drop      += new DragEventHandler(DuelEvent.card_Drop_OpMonster);
            card_2_7.Drop      += new DragEventHandler(DuelEvent.card_Drop_OpMonster);
            card_2_8.Drop      += new DragEventHandler(DuelEvent.card_Drop_OpMonster);
            card_2_9.Drop      += new DragEventHandler(DuelEvent.card_Drop_OpMonster);
            card_2_10.Drop     += new DragEventHandler(DuelEvent.card_Drop_OpMonster);

            card_2_hand.DragOver += new DragEventHandler(DuelEvent.card_DragOver);
            card_2_hand.Drop     += new DragEventHandler(DuelEvent.card_Drop_Hand2);

            cv_main.DragOver  += new DragEventHandler(DuelEvent.card_DragOver);
            cv_main.Drop      += new DragEventHandler(DuelEvent.sideMode_Drop);
            cv_extra.DragOver += new DragEventHandler(DuelEvent.card_DragOver);
            cv_extra.Drop     += new DragEventHandler(DuelEvent.sideMode_Drop);
            cv_side.DragOver  += new DragEventHandler(DuelEvent.card_DragOver);
            cv_side.Drop      += new DragEventHandler(DuelEvent.sideMode_Drop);

            TriggerAction ta = this.Resources["hide_menu"] as TriggerAction;
            this.bsb_menu_hide.Actions.Add(ta);

            #endregion

            #region 初始化控件的卡片处理事件

            #region 己方

            #region 怪物区

            card_1_6.WhenAddChildren     += CardAreaEvent.add2Monster;
            card_1_7.WhenAddChildren     += CardAreaEvent.add2Monster;
            card_1_8.WhenAddChildren     += CardAreaEvent.add2Monster;
            card_1_9.WhenAddChildren     += CardAreaEvent.add2Monster;
            card_1_10.WhenAddChildren    += CardAreaEvent.add2Monster;
            card_1_6.WhenInsertChildren  += CardAreaEvent.insert2Monster;
            card_1_7.WhenInsertChildren  += CardAreaEvent.insert2Monster;
            card_1_8.WhenInsertChildren  += CardAreaEvent.insert2Monster;
            card_1_9.WhenInsertChildren  += CardAreaEvent.insert2Monster;
            card_1_10.WhenInsertChildren += CardAreaEvent.insert2Monster;
            card_1_6.WhenRemoveChildren  += CardAreaEvent.removeFromMonster;
            card_1_7.WhenRemoveChildren  += CardAreaEvent.removeFromMonster;
            card_1_8.WhenRemoveChildren  += CardAreaEvent.removeFromMonster;
            card_1_9.WhenRemoveChildren  += CardAreaEvent.removeFromMonster;
            card_1_10.WhenRemoveChildren += CardAreaEvent.removeFromMonster;

            card_1_6.area  = Area.MONSTER_1;
            card_1_7.area  = Area.MONSTER_2;
            card_1_8.area  = Area.MONSTER_3;
            card_1_9.area  = Area.MONSTER_4;
            card_1_10.area = Area.MONSTER_5;

            #endregion

            #region 魔陷区

            card_1_1.WhenAddChildren    += CardAreaEvent.add2MagicTrap;
            card_1_2.WhenAddChildren    += CardAreaEvent.add2MagicTrap;
            card_1_3.WhenAddChildren    += CardAreaEvent.add2MagicTrap;
            card_1_4.WhenAddChildren    += CardAreaEvent.add2MagicTrap;
            card_1_5.WhenAddChildren    += CardAreaEvent.add2MagicTrap;
            card_1_1.WhenRemoveChildren += CardAreaEvent.removeFromMagicTrap;
            card_1_2.WhenRemoveChildren += CardAreaEvent.removeFromMagicTrap;
            card_1_3.WhenRemoveChildren += CardAreaEvent.removeFromMagicTrap;
            card_1_4.WhenRemoveChildren += CardAreaEvent.removeFromMagicTrap;
            card_1_5.WhenRemoveChildren += CardAreaEvent.removeFromMagicTrap;

            card_1_1.area = Area.MAGICTRAP_1;
            card_1_2.area = Area.MAGICTRAP_2;
            card_1_3.area = Area.MAGICTRAP_3;
            card_1_4.area = Area.MAGICTRAP_4;
            card_1_5.area = Area.MAGICTRAP_5;

            #endregion

            #region 墓地

            card_1_Graveyard.area = Area.GRAVEYARD;
            card_1_Graveyard.WhenRemoveChildren = CardAreaEvent.romoveFromGraveyard;
            card_1_Graveyard.WhenAddChildren    = CardAreaEvent.add2Graveyrad;

            #endregion

            #region 手牌

            card_1_hand.area                = Area.HAND;
            card_1_hand.WhenAddChildren    += CardAreaEvent.add2Hand;
            card_1_hand.WhenRemoveChildren += CardAreaEvent.removeFromHand;

            #endregion

            #region 卡组

            card_1_Deck.area                = Area.MAINDECK;
            card_1_Deck.WhenAddChildren    += CardAreaEvent.add2Deck;
            card_1_Deck.WhenInsertChildren += CardAreaEvent.insert2Deck;

            #endregion

            #region 额外

            card_1_Extra.area                = Area.EXTRA;
            card_1_Extra.WhenAddChildren    += CardAreaEvent.add2Extra;
            card_1_Extra.WhenInsertChildren += CardAreaEvent.insert2Extra;

            #endregion

            #region P卡区

            card_1_Left.area  = Area.PENDULUM_LEFT;
            card_1_Right.area = Area.PENDULUM_RIGHT;

            #endregion

            #region 除外

            card_1_Outside.area             = Area.BANISH;
            card_1_Outside.WhenAddChildren += CardAreaEvent.add2Banish;

            #endregion

            #endregion

            #region 敌方

            #region 移动场地

            OpBattle.WhenAddChildren += CardAreaEvent.add2OPBattle;

            #endregion

            #region 手卡

            card_2_hand.area                = Area.HAND_OP;
            card_2_hand.WhenAddChildren    += CardAreaEvent.add2HandOP;
            card_2_hand.WhenRemoveChildren += CardAreaEvent.removeFromHandOP;

            #endregion

            #region 怪物区

            card_2_6.area  = Area.MONSTER_1_OP;
            card_2_7.area  = Area.MONSTER_2_OP;
            card_2_8.area  = Area.MONSTER_3_OP;
            card_2_9.area  = Area.MONSTER_4_OP;
            card_2_10.area = Area.MONSTER_5_OP;

            card_2_6.WhenAddChildren  += CardAreaEvent.add2MonsterOP;
            card_2_7.WhenAddChildren  += CardAreaEvent.add2MonsterOP;
            card_2_8.WhenAddChildren  += CardAreaEvent.add2MonsterOP;
            card_2_9.WhenAddChildren  += CardAreaEvent.add2MonsterOP;
            card_2_10.WhenAddChildren += CardAreaEvent.add2MonsterOP;

            card_2_6.WhenInsertChildren  += CardAreaEvent.insert2MonsterOP;
            card_2_7.WhenInsertChildren  += CardAreaEvent.insert2MonsterOP;
            card_2_8.WhenInsertChildren  += CardAreaEvent.insert2MonsterOP;
            card_2_9.WhenInsertChildren  += CardAreaEvent.insert2MonsterOP;
            card_2_10.WhenInsertChildren += CardAreaEvent.insert2MonsterOP;

            card_2_6.WhenRemoveChildren  += CardAreaEvent.removeFromMonsterOP;
            card_2_7.WhenRemoveChildren  += CardAreaEvent.removeFromMonsterOP;
            card_2_8.WhenRemoveChildren  += CardAreaEvent.removeFromMonsterOP;
            card_2_9.WhenRemoveChildren  += CardAreaEvent.removeFromMonsterOP;
            card_2_10.WhenRemoveChildren += CardAreaEvent.removeFromMonsterOP;

            card_2_6.tb_atkDef  = atk_2_6;
            card_2_7.tb_atkDef  = atk_2_7;
            card_2_8.tb_atkDef  = atk_2_8;
            card_2_9.tb_atkDef  = atk_2_9;
            card_2_10.tb_atkDef = atk_2_10;

            #endregion

            #region 魔陷区

            card_2_1.area = Area.MAGICTRAP_1_OP;
            card_2_2.area = Area.MAGICTRAP_2_OP;
            card_2_3.area = Area.MAGICTRAP_3_OP;
            card_2_4.area = Area.MAGICTRAP_4_OP;
            card_2_5.area = Area.MAGICTRAP_5_OP;

            card_2_1.WhenAddChildren += CardAreaEvent.add2MagicTrapOP;
            card_2_2.WhenAddChildren += CardAreaEvent.add2MagicTrapOP;
            card_2_3.WhenAddChildren += CardAreaEvent.add2MagicTrapOP;
            card_2_4.WhenAddChildren += CardAreaEvent.add2MagicTrapOP;
            card_2_5.WhenAddChildren += CardAreaEvent.add2MagicTrapOP;


            #endregion

            #region P卡区

            card_2_Left.area  = Area.PENDULUM_LEFT_OP;
            card_2_Right.area = Area.PENDULUM_RIGHT_OP;

            card_2_Left.WhenAddChildren  += CardAreaEvent.add2PendulumOP;
            card_2_Right.WhenAddChildren += CardAreaEvent.add2PendulumOP;

            #endregion

            #region 卡组

            card_2_Deck.area                = Area.MAINDECK_OP;
            card_2_Deck.WhenAddChildren    += CardAreaEvent.add2DeckOP;
            card_2_Deck.WhenInsertChildren += CardAreaEvent.insert2DeckOP;

            #endregion

            #region 墓地

            card_2_Graveyard.area = Area.GRAVEYARD_OP;
            card_2_Graveyard.WhenRemoveChildren = CardAreaEvent.romoveFromGraveyardOP;
            card_2_Graveyard.WhenAddChildren    = CardAreaEvent.add2GraveyradOP;

            #endregion

            #region 除外

            card_2_Outside.area             = Area.BANISH_OP;
            card_2_Outside.WhenAddChildren += CardAreaEvent.add2BanishOP;

            #endregion

            #region 额外

            card_2_Extra.area                = Area.EXTRA_OP;
            card_2_Extra.WhenAddChildren    += CardAreaEvent.add2ExtraOP;
            card_2_Extra.WhenInsertChildren += CardAreaEvent.insert2ExtraOP;

            #endregion


            #endregion

            #region 绑定指示物控件的命令捕获

            CommandBinding cb = new CommandBinding(CardCommands.AddBlueSign);
            cb.Executed += SignOperate.execute_Addsign;
            setSignCommandsHandleByMyCanvas(cb);
            cb           = new CommandBinding(CardCommands.AddBlackSign);
            cb.Executed += SignOperate.execute_Addsign;
            setSignCommandsHandleByMyCanvas(cb);
            cb           = new CommandBinding(CardCommands.AddRedSign);
            cb.Executed += SignOperate.execute_Addsign;
            setSignCommandsHandleByMyCanvas(cb);
            cb           = new CommandBinding(CardCommands.AddGreenSign);
            cb.Executed += SignOperate.execute_Addsign;
            setSignCommandsHandleByMyCanvas(cb);

            bd_1_6.CommandBindings.Add(
                new CommandBinding(
                    CardCommands.ActiveCard,
                    MenuItemOperate.execute_activeCard));

            this.CommandBindings.Add(
                new CommandBinding(
                    CardCommands.SetCardRemark,
                    MenuItemOperate.execute_setCardRemark));

            this.CommandBindings.Add(
                new CommandBinding(
                    CardCommands.Set2AtkOrDef,
                    MenuItemOperate.excuete_set2AtkOrDef));

            this.CommandBindings.Add(
                new CommandBinding(
                    CardCommands.Set2FrontOrBack,
                    MenuItemOperate.excuete_set2FrontOrBack));

            this.CommandBindings.Add(
                new CommandBinding(
                    CardCommands.Set2BackDef,
                    MenuItemOperate.excuete_set2BackDef));

            this.CommandBindings.Add(
                new CommandBinding(
                    CardCommands.Release2Graveyard,
                    MenuItemOperate.excuete_release2Graveyard));

            this.CommandBindings.Add(
                new CommandBinding(
                    CardCommands.Release2Banish,
                    MenuItemOperate.excuete_release2Banish));

            this.CommandBindings.Add(
                new CommandBinding(
                    CardCommands.Back2MainDeck,
                    MenuItemOperate.excuete_back2MainDeck));

            #endregion


            #region 注册攻守显示控件事件

            atk_1_6.MouseDown  += CardOperate.setAtkOrDef;
            atk_1_7.MouseDown  += CardOperate.setAtkOrDef;
            atk_1_8.MouseDown  += CardOperate.setAtkOrDef;
            atk_1_9.MouseDown  += CardOperate.setAtkOrDef;
            atk_1_10.MouseDown += CardOperate.setAtkOrDef;

            #endregion

            #endregion

            #region 绑定控件命令

            #region 查看卡片按钮

            view_Deck.Command       = UICommands.ViewAreaCards;
            view_Deck.CommandTarget = card_1_Deck;
            card_1_Deck.CommandBindings.Add(
                new CommandBinding(
                    UICommands.ViewAreaCards,
                    CardOperate.excuete_viewCards));

            view_Graveyard.Command       = UICommands.ViewAreaCards;
            view_Graveyard.CommandTarget = card_1_Graveyard;
            card_1_Graveyard.CommandBindings.Add(
                new CommandBinding(
                    UICommands.ViewAreaCards,
                    CardOperate.excuete_viewCards));

            view_Extra.Command       = UICommands.ViewAreaCards;
            view_Extra.CommandTarget = card_1_Extra;
            card_1_Extra.CommandBindings.Add(
                new CommandBinding(
                    UICommands.ViewAreaCards,
                    CardOperate.excuete_viewCards));

            view_Outside.Command       = UICommands.ViewAreaCards;
            view_Outside.CommandTarget = card_1_Outside;
            card_1_Outside.CommandBindings.Add(
                new CommandBinding(
                    UICommands.ViewAreaCards,
                    CardOperate.excuete_viewCards));

            #endregion

            #endregion

            #region <-- 注册其他控件事件 -->



            view_Extra2.Click     += new RoutedEventHandler(DuelEvent.view_Extra2_Click);     //查看额外(对手)
            view_Outside2.Click   += new RoutedEventHandler(DuelEvent.view_Outside2_Click);   //查看除外(对手)
            view_Graveyard2.Click += new RoutedEventHandler(DuelEvent.view_Graveyard2_Click); //查看墓地(对手)



            btn_choosezone.Click               += new RoutedEventHandler(DuelEvent.btn_choosezone);                     //场地选择
            btn_deck.Click                     += new RoutedEventHandler(DuelEvent.btn_deck);                           //卡组管理
            btn_choosedeckCancel.Click         += new RoutedEventHandler(DuelEvent.btn_choosedeckCancel);               //取消选择
            lb_firstdocument.SelectionChanged  += new SelectionChangedEventHandler(DuelEvent.ListBox_SelectionChanged); //卡组管理第一个选项卡
            lb_firstdocument2.SelectionChanged += new SelectionChangedEventHandler(DuelEvent.ListBox_SelectionChanged); //卡组管理第二个选项卡
            lb_firstdocument3.SelectionChanged += new SelectionChangedEventHandler(DuelEvent.ListBox_SelectionChanged); //卡组管理第三个选项卡
            btn_start.Click                    += new RoutedEventHandler(DuelEvent.btn_start);                          //开局按钮
            btn_firstAtk.Click                 += new RoutedEventHandler(DuelEvent.btn_firstAtk);                       //先攻按钮
            btn_secondAtk.Click                += new RoutedEventHandler(DuelEvent.btn_secondAtk);                      //后攻按钮
            btn_sideMode.Click                 += new RoutedEventHandler(DuelEvent.btn_sideMode);
            btn_sideModeCancel.Click           += new RoutedEventHandler(DuelEvent.btn_sideModeCancel);
            btn_viewreport.Click               += new RoutedEventHandler(DuelEvent.btn_viewreport);   //R按钮(查看战报)
            tb_chat_send.KeyDown               += new KeyEventHandler(DuelEvent.tb_chatsend_KeyDown); //聊天发送框
            btn_roll.Click                     += new RoutedEventHandler(DuelEvent.btn_roll);
            btn_coin.Click                     += new RoutedEventHandler(DuelEvent.btn_coin);

            rta_dp.MouseDown += new MouseButtonEventHandler(DuelEvent.Rectangle_MouseDown); //阶段按钮DP
            rta_sp.MouseDown += new MouseButtonEventHandler(DuelEvent.Rectangle_MouseDown); //阶段按钮SP
            rta_m1.MouseDown += new MouseButtonEventHandler(DuelEvent.Rectangle_MouseDown); //阶段按钮M1
            rta_bp.MouseDown += new MouseButtonEventHandler(DuelEvent.Rectangle_MouseDown); //阶段按钮BP
            rta_m2.MouseDown += new MouseButtonEventHandler(DuelEvent.Rectangle_MouseDown); //阶段按钮M2
            rta_ep.MouseDown += new MouseButtonEventHandler(DuelEvent.Rectangle_MouseDown); //阶段按钮EP

            #endregion

            #region <-- 批量操作菜单的事件注册 -->

            mi_monster_2Graveyard.Click += new RoutedEventHandler(DuelEvent.MenuItem_Handle);
            mi_monster_2Outside.Click   += new RoutedEventHandler(DuelEvent.MenuItem_Handle);
            mi_monster_2Outside2.Click  += new RoutedEventHandler(DuelEvent.MenuItem_Handle);
            mi_monster_2hand.Click      += new RoutedEventHandler(DuelEvent.MenuItem_Handle);
            mi_monster_2hand2.Click     += new RoutedEventHandler(DuelEvent.MenuItem_Handle);
            mi_monster_2defUp.Click     += new RoutedEventHandler(DuelEvent.MenuItem_Handle);
            mi_monster_2atkUp.Click     += new RoutedEventHandler(DuelEvent.MenuItem_Handle);
            mi_monster_2defDown.Click   += new RoutedEventHandler(DuelEvent.MenuItem_Handle);
            mi_monster_2Main.Click      += new RoutedEventHandler(DuelEvent.MenuItem_Handle);
            mi_monster_2Main2.Click     += new RoutedEventHandler(DuelEvent.MenuItem_Handle);
            mi_monster_shuffle.Click    += new RoutedEventHandler(DuelEvent.MenuItem_Handle);

            mi_magictrap_2Graveyard.Click += new RoutedEventHandler(DuelEvent.MenuItem_Handle);
            mi_magictrap_2hand.Click      += new RoutedEventHandler(DuelEvent.MenuItem_Handle);
            mi_magictrap_2Outside.Click   += new RoutedEventHandler(DuelEvent.MenuItem_Handle);
            mi_magictrap_2Main.Click      += new RoutedEventHandler(DuelEvent.MenuItem_Handle);
            mi_magictrap_shuffle.Click    += new RoutedEventHandler(DuelEvent.MenuItem_Handle);

            mi_hand_2Graveyard.Click += new RoutedEventHandler(DuelEvent.MenuItem_Handle);
            mi_hand_2Outside.Click   += new RoutedEventHandler(DuelEvent.MenuItem_Handle);
            mi_hand_2Main.Click      += new RoutedEventHandler(DuelEvent.MenuItem_Handle);

            mi_field_2Graveyard.Click += new RoutedEventHandler(DuelEvent.MenuItem_Handle);
            mi_field_2hand.Click      += new RoutedEventHandler(DuelEvent.MenuItem_Handle);
            mi_field_2hand2.Click     += new RoutedEventHandler(DuelEvent.MenuItem_Handle);
            mi_field_2Outside.Click   += new RoutedEventHandler(DuelEvent.MenuItem_Handle);
            mi_field_2Outside2.Click  += new RoutedEventHandler(DuelEvent.MenuItem_Handle);
            mi_field_shuffle.Click    += new RoutedEventHandler(DuelEvent.MenuItem_Handle);

            #endregion

            #region <-- 加载全卡信息 -->

            CardDataOperate.GetAllCard();

            #endregion

            #region <-- 初始化用户配置信息 -->

            AppConfigOperate.getInstance();

            #endregion

            #region <-- 初始化决斗准备 -->

            DuelOperate.getInstance(this);

            #endregion

            #region <-- 初始卡组管理器 -->

            //Binding testbinding = new Binding();
            //testbinding.Mode = BindingMode.TwoWay;
            //testbinding.Path = new PropertyPath("first");
            DecksManergerOperate.getInstance(this);
            //设置数据banding
            this.tbc_DeckDocument.DataContext = DecksManergerOperate.getInstance();

            #endregion
        }
Esempio n. 19
0
 internal static void btn_choosedeckCancel(object sender, RoutedEventArgs e)
 {
     DuelOperate.getInstance().DecksetCancel();
 }
Esempio n. 20
0
 internal static void btn_sideModeCancel(object sender, RoutedEventArgs e)
 {
     DuelOperate.getInstance().sideModeCancel();
 }
Esempio n. 21
0
 /// <summary>
 /// 先攻按钮事件
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 public static void btn_secondAtk(object sender, RoutedEventArgs e)
 {
     DuelOperate.getInstance().SecondAtk();
 }
Esempio n. 22
0
        public static void execute_Addsign(object sender, ExecutedRoutedEventArgs e)
        {
            CardUI        card = e.OriginalSource as CardUI;
            StackPanel    sp   = (sender as MyCanvas).signs;
            SignTextBlock stb  = new SignTextBlock(true);

            stb.Height  = 25;
            stb.Width   = 25;
            stb.Content = "1";
            switch ((e.Command as RoutedUICommand).Name)
            {
            case "addBlueSign":
                stb.BorderBrush = Brushes.Blue;
                break;

            case "addBlackSign":
                stb.BorderBrush = Brushes.Black;
                break;

            case "addRedSign":
                stb.BorderBrush = Brushes.Red;
                break;

            case "addGreenSign":
                stb.BorderBrush = Brushes.Green;
                break;

            default:
                break;
            }
            card.signs.Add(stb);
            stb.Tag = card;
            sp.Children.Add(stb);
            e.Handled = true;

            #region 指令发送

            SignInfo signInfo = new SignInfo();
            int      cardid   = CardOperate.getCardID(card);
            signInfo.cardID = cardid;
            foreach (SignTextBlock item in sp.Children)
            {
                //Dictionary<string, string> content = new Dictionary<string, string>();
                //content.Add(item.Content.ToString(), item.ToolTip.ToString());
                signInfo.signs.Add(new SignInfo.SignMessage(item.BorderBrush, item.Content.ToString(), item.ToolTip == null?null:item.ToolTip.ToString()));
            }
            String contentJson = JsonConvert.SerializeObject(signInfo);

            BaseJson bj = new BaseJson();
            bj.guid   = DuelOperate.getInstance().myself.userindex;
            bj.cid    = "";
            bj.action = ActionCommand.CARD_SIGN_ACTION;
            bj.json   = contentJson;
            String json = JsonConvert.SerializeObject(bj);
            DuelOperate.getInstance().sendMsg(json);

            #endregion
            //addBlueSign = new RoutedUICommand("addBlueSign", "addBlueSign", typeof(CardCommands));
            //addBlackSign = new RoutedUICommand("addBlackSign", "addBlackSign", typeof(CardCommands));
            //addRedSign = new RoutedUICommand("addRedSign", "addRedSign", typeof(CardCommands));
            //addGreenSign = new RoutedUICommand("addGreenSign", "addGreenSign", typeof(CardCommands));
        }
Esempio n. 23
0
 internal static void btn_viewreport(object sender, RoutedEventArgs e)
 {
     DuelOperate.getInstance().ViewReport();
 }
Esempio n. 24
0
 /// <summary>
 /// 选择区域的事件
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 internal static void cb_Checked(object sender, RoutedEventArgs e)
 {
     DuelOperate.getInstance().ChooseZone(sender);
 }
Esempio n. 25
0
 /// <summary>
 /// 显示区域选择控件的按钮事件
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 public static void btn_choosezone(object sender, RoutedEventArgs e)
 {
     DuelOperate.getInstance().ShowZone_cb();
 }