private async Task RussianRoulette(Player player)
        {
            // Kill units locally
            List <GeneralizedUnitHelper> killedOnes = new List <GeneralizedUnitHelper>();
            int    unitNumber = _generalizedUnits.Count;
            Random random     = new Random();

            while (_supportAmount < _supportNeed)
            {
                int killIndex = random.Next(unitNumber);
                GeneralizedUnitHelper toBeKilled = _generalizedUnits.ElementAt(killIndex);
                _supportNeed -= toBeKilled.SupportNeed;
                killedOnes.Add(toBeKilled);
                _generalizedUnits.RemoveAt(killIndex);

                unitNumber--;
            }

            // Update player
            var unitGroups = killedOnes.GroupBy(u => u.SquadUnitId).ToList();

            foreach (var group in unitGroups)
            {
                int squadUnitId          = group.Key;
                int numberOfUnitsInGroup = group.Count();
                _squadService.DecreaseUnitTypeNumberForPlayer(player, squadUnitId, numberOfUnitsInGroup);
            }
        }
        public async Task <int> CoralUpkeeping(Player player) //mennyit fogyasztanak el, azt returnöli+gyilkol Squadon keresztül
        {
            List <SquadUnit> squadUnits = await _squadService.GetAllSquadUnitByPlayerId(player.Id);

            _supportNeed = squadUnits.Sum(s => s.NumberOfUnits * s.Unit.Upkeep);
            if (_supportNeed > _supportAmount)
            {
                foreach (var su in squadUnits)                 //create generalized units
                {
                    for (var i = 0; i < su.NumberOfUnits; i++) //create n identical generalizedUnit
                    {
                        GeneralizedUnitHelper newUnit = new GeneralizedUnitHelper
                        {
                            SquadUnitId = su.Id,
                            SupportNeed = su.Unit.Upkeep
                        };
                        _generalizedUnits.Add(newUnit);
                    }
                }
                await RussianRoulette(player);
            }
            return(_supportNeed);
        }