//method for collecting data or game finishing private static GameFinishedDataRequest CollectEndGameData() { GameFinishedDataRequest output = new GameFinishedDataRequest { WinnerPlayerNumber = DataPlaceholders.GameStateHolder.EngineInstance.FinishedPlayers[1], GamersList = new List <PlayerPositionDetails>(), GameTimerTimeSpan = GameStateHolder.GameTimerTimeSpan, GameTimerTimeSpanMiliseconds = GameStateHolder.GameTimerTimeSpanMiliseconds, }; foreach (var item in DataPlaceholders.MakaoEngineHostDataPlaceholders.PlayersData) { try { PlayerPositionDetails onePlayerData = new PlayerPositionDetails() { PlayerPosition = GetPlayerPosition(item.PlayerNumber, DataPlaceholders.GameStateHolder.EngineInstance.FinishedPlayers), PlayerID = item.PlayerID, PlayedAndWonGames = CheckIfThisPLayerWon(item.PlayerNumber, output.WinnerPlayerNumber, item.PlayedAndWonGames), PlayedGames = item.PlayedGames + 1, PlayerNumber = item.PlayerNumber, PlayerName = item.PlayerName, }; output.GamersList.Add(onePlayerData); } catch (Exception ex) { var logger = NLog.LogManager.GetCurrentClassLogger(); logger.Error($"Error while obtaining data for finished game window (in host): {ex.Message}."); } } return(output); }
private void WindowClosingButton_Click(object sender, RoutedEventArgs e) { canWindowBeClosed = true; try { PlayerPositionDetails positionDetails = inputData.GamersList.Single(x => x.PlayerID == thisPlayerID); OnGameResultsWindowClosing(positionDetails.PlayedGames, positionDetails.PlayedAndWonGames); } catch (Exception ex) { var logger = NLog.LogManager.GetCurrentClassLogger(); logger.Error($"Error while trying to get info about this player from input data: {ex.Message}."); OnGameResultsWindowClosing(-5, -5); } this.Close(); }