コード例 #1
0
ファイル: GameWindow.xaml.cs プロジェクト: Michu8258/Makao
        //creating rewuest for changing joker card back (as it is now not a joker)
        private ChangeJokerBackRequest GenerateJokerChangeBackRequest(PlayingCard jokerCardToRetrieve)
        {
            ChangeJokerBackRequest request = new ChangeJokerBackRequest()
            {
                PlayerID            = MainWindow.PlayerID,
                PlayerNumber        = MainWindow.PlayerNumber,
                CardToRetrieveJoker = jokerCardToRetrieve,
            };

            return(request);
        }
コード例 #2
0
 private void ChangeCardBackToJoker(ChangeJokerBackRequest request,
                                    MainUser control, SynchronizationContext synchCont)
 {
     try
     {
         IMakaoGameHostService   proxy    = factory.CreateChannel();
         ChangeJokerCardResponse response = proxy.ChangeCardIntoJokerBack(request);
         if (response.PlayerID == MainWindow.PlayerID)
         {
             synchCont.Post(_ => AssignMainControCards(control, response.CurrentPlayerCards), null);
         }
     }
     catch (Exception ex)
     {
         var logger = NLog.LogManager.GetCurrentClassLogger();
         logger.Error($"Error while changing joker back: {ex.Message}.");
     }
 }
コード例 #3
0
        //request from host to change card what used to be joker, to joker back
        ChangeJokerCardResponse IMakaoGameHostService.ChangeCardIntoJokerBack(ChangeJokerBackRequest request)
        {
            var logger = NLog.LogManager.GetCurrentClassLogger();

            logger.Info($"Engine host received request to change joker back from player {request.PlayerNumber}.");
            bool       done = false;
            PlayerData data = DataPlaceholders.MakaoEngineHostDataPlaceholders.PlayersData.Single(x => x.PlayerNumber == request.PlayerNumber);

            if (data.PlayerID == request.PlayerID)
            {
                try
                {
                    done = DataPlaceholders.GameStateHolder.EngineInstance.ChangeCardsIntoJockersBack(request.PlayerNumber, request.CardToRetrieveJoker);
                }
                catch (Exception ex)
                {
                    logger.Error($"Error while changing joker into another card: {ex.Message}.");
                }
            }
            return(GenerateJokerChangingResponse(data, done));
        }
コード例 #4
0
 public void ChangeJokerBackFromAnotherCard(ChangeJokerBackRequest request,
                                            MainUser control, SynchronizationContext synchCont)
 {
     Task.Run(() => ChangeCardBackToJoker(request, control, synchCont));
 }