예제 #1
0
        public VMInnerRooms(Network Server)
        {
            _Server = Server;

            VMRooms      rooms   = new VMRooms(_Server);
            VMCreateRoom cr_room = new VMCreateRoom(_Server);
            VMRoom       room    = new VMRoom(_Server);
            VMGame       game    = new VMGame(_Server, room);

            rooms.moveTo   += new EventHandler <MoveToEventArgs>(Inner_moveTo);
            cr_room.moveTo += new EventHandler <MoveToEventArgs>(Inner_moveTo);
            room.moveTo    += new EventHandler <MoveToEventArgs>(Inner_moveTo);
            game.moveTo    += new EventHandler <MoveToEventArgs>(Inner_moveTo);

            cr_room.roomCreation += new EventHandler <RoomEventArgs>(room.roomAssociation);
            rooms.roomJoin       += new EventHandler <RoomEventArgs>(room.roomAssociation);

            ViewModels = new ObservableCollection <ViewModelBase>()
            {
                rooms,
                cr_room,
                room,
                game
            };


            ViewModelView = CollectionViewSource.GetDefaultView(ViewModels);
        }
예제 #2
0
        /// <summary>
        /// server return for deck to user
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void r_SDTU(object sender, serverReturnEventArgs e)
        {
            _Server.SDTUReturn -= new EventHandler <serverReturnEventArgs>(r_SDTU);

            var idDeck = VMProfile.getval(e.data, "idDeck");
            var deck   = deckList.Where(d => d.Id == idDeck).FirstOrDefault();

            List <Card> cards = VMGame.CardSpliting(e.data);

            /*
             * empty the deck
             */
            Application.Current.Dispatcher.Invoke(new Action(delegate()
            {
                deck.Main.Clear();
                deckList.Remove(deck);
            }), null);

            /*
             * fill the deck
             */
            foreach (Card elem in cards)
            {
                Application.Current.Dispatcher.Invoke(new Action(delegate()
                {
                    deck.Main.Insert(0, elem);
                }), null);
            }

            Application.Current.Dispatcher.Invoke(new Action(delegate()
            {
                deckList.Add(deck);
            }), null);
        }
예제 #3
0
        public VMInnerRooms(Network Server)
        {
            _Server = Server;

            VMRooms rooms = new VMRooms(_Server);
            VMCreateRoom cr_room = new VMCreateRoom(_Server);
            VMRoom room = new VMRoom(_Server);
            VMGame game = new VMGame(_Server, room);

            rooms.moveTo += new EventHandler<MoveToEventArgs>(Inner_moveTo);
            cr_room.moveTo += new EventHandler<MoveToEventArgs>(Inner_moveTo);
            room.moveTo  += new EventHandler<MoveToEventArgs>(Inner_moveTo);
            game.moveTo += new EventHandler<MoveToEventArgs>(Inner_moveTo);

            cr_room.roomCreation += new EventHandler<RoomEventArgs>(room.roomAssociation);
            rooms.roomJoin += new EventHandler<RoomEventArgs>(room.roomAssociation);

            ViewModels = new ObservableCollection<ViewModelBase>()
            {
                rooms,
                cr_room,
                room,
                game
            };

            
            ViewModelView = CollectionViewSource.GetDefaultView(ViewModels);
        }