private void OnChallengeResultEvent(ChallengeResult challengeResult) { Player selectedPlayer = GetSelectedPlayer(challengeResult); if (selectedPlayer == null) { Globals.Logger.Debug($"{challengeResult.ToLongString()} discarded because no player is logged in."); return; } var wasDataAdded = DataView.AddChallengeResult(selectedPlayer.Id, challengeResult); if (!wasDataAdded) { Globals.Logger.Debug($"Player: {selectedPlayer}, {challengeResult.ToLongString()} was not added because DataView.AddChallengeResult() returned false."); return; } Globals.Logger.Debug($"Player: {selectedPlayer}, {challengeResult.ToLongString()} was added successfully. Updating UIs."); UpdateAllUIs(challengeResult); Globals.Logger.Debug($"Player: {selectedPlayer}, {challengeResult.ToLongString()} was added successfully. Saving data."); SaveData(); Globals.SpeechSynthesizer.SpeakAsync($"New personal best for {selectedPlayer.Name}."); int playerPosition = _allChallengeStandings.GetPlayerPosition(challengeResult, selectedPlayer); if (playerPosition > 0) { Globals.SpeechSynthesizer.SpeakAsync($"You are now in position {playerPosition} in this race."); } }