本文整理汇总了C#中Team.GetTeamRating方法的典型用法代码示例。如果您正苦于以下问题:C# Team.GetTeamRating方法的具体用法?C# Team.GetTeamRating怎么用?C# Team.GetTeamRating使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Team
的用法示例。
在下文中一共展示了Team.GetTeamRating方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ResolveMatch
private Match ResolveMatch(Match match)
{
var redScore = match.RedScore;
var blueScore = match.BlueScore;
if (redScore != blueScore)
{
var playerCollection = Dbh.GetCollection<Player>("Players");
// Update players from the match with players from the Db.
if (match.RedPlayer1.Id != null)
{
match.RedPlayer1 =
playerCollection.FindOne(Query.EQ("_id", BsonObjectId.Parse(match.RedPlayer1.Id)));
}
if (match.RedPlayer2.Id != null)
{
match.RedPlayer2 =
playerCollection.FindOne(Query.EQ("_id", BsonObjectId.Parse(match.RedPlayer2.Id)));
}
if (match.BluePlayer1.Id != null)
{
match.BluePlayer1 =
playerCollection.FindOne(Query.EQ("_id", BsonObjectId.Parse(match.BluePlayer1.Id)));
}
if (match.BluePlayer2.Id != null)
{
match.BluePlayer2 =
playerCollection.FindOne(Query.EQ("_id", BsonObjectId.Parse(match.BluePlayer2.Id)));
}
var currentUser = Main.Session.GetCurrentUser();
if (currentUser != null)
{
// Get the scores
match.RedScore = redScore;
match.BlueScore = blueScore;
// Determine the winners and the losers
var winners = new Team();
var losers = new Team();
if (match.RedScore > match.BlueScore)
{
winners.Players.Add(match.RedPlayer1);
winners.Players.Add(match.RedPlayer2);
losers.Players.Add(match.BluePlayer1);
losers.Players.Add(match.BluePlayer2);
}
else
{
winners.Players.Add(match.BluePlayer1);
winners.Players.Add(match.BluePlayer2);
losers.Players.Add(match.RedPlayer1);
losers.Players.Add(match.RedPlayer2);
}
// Get the rating modifier
match.DistributedRating = Rating.GetRatingModifier(winners.GetTeamRating(), losers.GetTeamRating());
// Propagate the rating and stats to the team members of both teams
foreach (var member in winners.Players.Where(member => member.Id != null))
{
member.Rating += match.DistributedRating;
member.Won++;
member.Played++;
playerCollection.Save(member);
}
foreach (var member in losers.Players.Where(member => member.Id != null))
{
member.Rating -= match.DistributedRating;
member.Lost++;
member.Played++;
playerCollection.Save(member);
}
// Update match time stats
match.GameOverTime = DateTime.Now;
}
}
return match;
}