Beispiel #1
0
 //common method for updating data in internal list and in list view table (graphical reprresentation)
 private ListViewPlayersList UpdateReadinessDataInList(ListViewPlayersList item, PlayersReadinessToPlayEventArgs e)
 {
     try
     {
         ActualizedDataOfPlayersReadiness playerData = e.ReadinessData.ReadinessDataList.Single(p => p.PlayerNumber == item.PlayerNumber);
         item.ReadyToPlay = playerData.IsReadyToPlay;
         return(item);
     }
     catch (Exception ex)
     {
         var logger = NLog.LogManager.GetCurrentClassLogger();
         logger.Error("Couldn't find data of player with number: " + item.PlayerNumber + " in data received from Host. Exception" + ex.Message);
         return(item);
     }
 }
Beispiel #2
0
        //event fired when got proper data from host
        private void DataPlaceholder_PlayersReadinesChanged(object sender, PlayersReadinessToPlayEventArgs e)
        {
            var logger = NLog.LogManager.GetCurrentClassLogger();

            logger.Info("Actualizing players readiness to play game data received from host.");

            //actualizing data in list variable
            foreach (ListViewPlayersList item in playersList)
            {
                item.ReadyToPlay = UpdateReadinessDataInList(item, e).ReadyToPlay;
            }

            for (int i = 0; i < CurrentPlayersList.Items.Count; i++)
            {
                ActualizedDataOfPlayersReadiness newData = e.ReadinessData.ReadinessDataList.Single
                                                               (p => p.PlayerNumber == (CurrentPlayersList.Items[i] as ListViewPlayersList).PlayerNumber);
                (CurrentPlayersList.Items[i] as ListViewPlayersList).ReadyToPlay = newData.IsReadyToPlay;
            }
        }
        //obtaining response which is send to clients - current data of players
        //readiness to play the new game
        private ActualizedPlayersReadinessDataRequest ObtainPlayersReadinessData()
        {
            List <ActualizedDataOfPlayersReadiness> ReadinessList = new List <ActualizedDataOfPlayersReadiness>();

            foreach (PlayerData item in MakaoEngineHostDataPlaceholders.PlayersData)
            {
                ActualizedDataOfPlayersReadiness singlePlayerData = new ActualizedDataOfPlayersReadiness()
                {
                    PlayerName    = item.PlayerName,
                    PlayerNumber  = item.PlayerNumber,
                    PlayerID      = item.PlayerID,
                    IsReadyToPlay = item.ReadyToPlay,
                };
                ReadinessList.Add(singlePlayerData);
            }
            ActualizedPlayersReadinessDataRequest response = new ActualizedPlayersReadinessDataRequest()
            {
                ReadinessDataList = ReadinessList,
            };

            return(response);
        }