Exemple #1
0
        private void AwardWinners(IChatClient chatClient, QuizQuestion question)
        {
            char          correctLetter = question.LetterAssignment.Single(x => x.Value == question.CorrectAnswer).Key;
            List <string> winners       = CurrentPlayers.Where(x => x.Value == correctLetter).Select(x => x.Key).ToList();

            chatClient.SendMessage($"Congratulations to {string.Join(", ", winners)}");
            _currencyGenerator.AddCurrencyTo(winners, 10);
        }
Exemple #2
0
        /// <summary>
        /// Gets the team.
        /// </summary>
        /// <param name="t">The Team enum.</param>
        /// <returns>A list of <see cref="PlayerInfo"/> objects for a given Team enum.</returns>
        public List <PlayerInfo> GetTeam(Team t)
        {
            var team = CurrentPlayers.Where(player => player.Value.Team.Equals(t))
                       .Select(player => player.Value)
                       .ToList();
            var sb = new StringBuilder();

            foreach (var player in team)
            {
                sb.Append(string.Format("{0}, ", player.ShortName));
            }

            Log.Write(string.Format("Internally retrieving {0} stored players for {1} team: {2}",
                                    team.Count, t, sb.ToString().TrimEnd(',', ' ')), _logClassType, _logPrefix);

            return(team);
        }
        public void OnGameOver(List <int> failedPlayers)
        {
            for (var i = 0; i < failedPlayers.Count; i++)
            {
                var player = CurrentPlayers.First(p => p.playerId == failedPlayers[i]);
                player.score += i;
            }

            var winner = CurrentPlayers.Where(p => !failedPlayers.Contains(p.playerId)).First();

            winner.score += failedPlayers.Count;


            //TODO: 发点通知啥的

            SceneManager.LoadSceneAsync("Scenes/PlayerRoom/Room", LoadSceneMode.Single);
        }