Beispiel #1
0
        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.");
            }
        }