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); }
/// <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); }