Example #1
0
        //event handler for updating the window
        private void DataPlaceholder_UpdteTheGame(object sender, UpdateGameWindowEventArgs e)
        {
            if (thisPlayerID == e.ReceivedData.PlayerID)
            {
                SynchCont.Post(_ => ThisUserControlsEnabler.EnableOrDisableThisUserControls(ref ThisPlayerControl,
                                                                                            ref DeckRepresentationControl, e.ReceivedData.CurrentPlayerNumber), null);

                //assign cards to controls
                CardsToControlsAssigner CardsAssigner = new CardsToControlsAssigner(this);
                SynchCont.Post(_ => CardsAssigner.AssignPlayersCards(PlayersControlsMapper, e.ReceivedData.DataOfThisPlayer.ThisPlayerCards,
                                                                     e.ReceivedData.DataOfOtherPlayers), null);
                SynchCont.Post(_ => CardsAssigner.AssignAmountOfCardsInDeck(e.ReceivedData.AmountOfCardsInDeck), null);
                SynchCont.Post(_ => CardsAssigner.AddMultipleCardsToUsedCardsControl(e.ReceivedData.NewCardsOnTheTableList), null);

                //assign properties values - those which implements INotifyPropertyChange interface
                SynchCont.Post(_ => AssignProperties(e.ReceivedData.CurrentGameStatusData), null);

                //move posibilities
                SynchCont.Post(_ => AssignPlayersMovePosibilities(e.ReceivedData.DataOfThisPlayer), null);

                //players rectangles colors
                SynchCont.Post(_ => PlayersRectanglesColorAssigner.AssignPlayersRectanglesColors(ref ActivePlayerRectangles, e.ReceivedData.CurrentPlayerNumber), null);

                SynchCont.Post(_ => OpenMatchingCardInBattleWindow(MatchingCardInBattleMode, AlreadyUsedCardsControl.Cards[0]), null);
            }

            SynchCont.Post(_ => MemoryManagement.FlushMemory(), null);
        }
Example #2
0
        //assigning cards to the controls in the window at the game startup
        private void AssignCardsOnGameStart(PersonalizedForSpecificPlayerStartGameDataRequest inputData)
        {
            CardsToControlsAssigner CardsAssigner = new CardsToControlsAssigner(this);

            CardsAssigner.AssignPlayersCards(PlayersControlsMapper, inputData.DataOfThisPlayer.ThisPlayerCards,
                                             inputData.DataOfOtherPlayers);
            CardsAssigner.AssignAmountOfCardsInDeck(inputData.AmountOfCardsInDeck);
            CardsAssigner.AddOneCardToUsedCardsControl(inputData.NewCardsOnTheTableList[0]);
        }