Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        public void EndMultiKills(int time, bool IsEndGame = false)
        {
            if (!MultiKills.Any())
            {
                return;
            }

            LastMultiKill.IsRunning = false;
            if (IsEndGame)
            {
                LastMultiKill.FinishInSeconds = time;
            }
        }
Ejemplo n.º 3
0
        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
            });
        }