private MultiKills CalculateMultiKills(List <Player> players) { var multikills = new MultiKills(); multikills.PentaKills = players.Select(p => p.PentaKills).Sum(); multikills.QuadraKills = players.Select(p => p.QuadraKills).Sum(); multikills.TripleKills = players.Select(p => p.TripleKills).Sum(); multikills.DoubleKills = players.Select(p => p.DoubleKills).Sum(); return(multikills); }
public void EndMultiKills(int time, bool IsEndGame = false) { if (!MultiKills.Any()) { return; } LastMultiKill.IsRunning = false; if (IsEndGame) { LastMultiKill.FinishInSeconds = time; } }
public void AddOrContinueMultiKills(int time) { if (!MultiKills.Any()) { MultiKills.Add(new MultiKill { StartInSeconds = time, Count = 1, FinishInSeconds = time, IsRunning = true }); return; } if (LastMultiKill.IsRunning && TimeSpan.FromSeconds(time - LastMultiKill.FinishInSeconds).TotalSeconds <= 3) { LastMultiKill.Count++; LastMultiKill.FinishInSeconds = time; return; } LastMultiKill.IsRunning = false; MultiKills.Add(new MultiKill { StartInSeconds = time, Count = 1, FinishInSeconds = time, IsRunning = true }); }