/// <summary>
        /// Метод обновления объектов выбранного экрана
        /// </summary>
        public void Update()
        {
            int index = _enemiesObjects.FindIndex(e => e.IsShow);

            if (index == -1)
            {
                Log.AddMessage($"Все противники уничтожены. Новый уровень.");
                foreach (BaseObject enemy in _enemiesObjects)
                {
                    enemy.Respawn(Game.GenerateRandomPointBehindScreen());
                }
                if (Game._random.Next(0, 2) == 1)
                {
                    _enemiesObjects.Add(ManagerEnemies.getAsteroid());
                }
                else
                {
                    _enemiesObjects.Add(ManagerEnemies.getAlien());
                }
                foreach (BaseObject bonus in _bonuses)
                {
                    bonus.Respawn(Game.GenerateRandomPointBehindScreen());
                }
            }

            foreach (BaseObject obj in _neitralObjects)
            {
                obj.Update();
            }
            foreach (BaseObject enemy in _enemiesObjects)
            {
                if (enemy.IsShow)
                {
                    enemy.Update();
                    foreach (BaseObject bullet in _bullets)
                    {
                        if (bullet.IsShow && enemy.isCollision(bullet))
                        {
                            enemy.IsShow  = false;
                            bullet.IsShow = false;
                            _score++;
                            Log.AddMessage($"Пуля {bullet.Tag} уничтожила {enemy.Tag}");
                        }
                    }

                    if (enemy.isCollision(_ship))
                    {
                        _ship.EnergyLow(10);
                        enemy.IsShow = false;
                        Log.AddMessage($"Корабль поврежден объектом {enemy.Tag}");
                    }
                }
            }
            foreach (BaseObject bonus in _bonuses)
            {
                if (bonus.IsShow)
                {
                    bonus.Update();
                    if (bonus.isCollision(_ship))
                    {
                        _ship.GetBonus(bonus);
                        bonus.IsShow = false;
                        Log.AddMessage($"Корабль получил бонус {bonus.Tag}");
                    }
                }
            }
            foreach (BaseObject bullet in _bullets)
            {
                if (bullet.IsShow)
                {
                    bullet.Update();
                    if (bullet is Bullet)
                    {
                        var temp = bullet as Bullet;
                        if (!temp.IsAlive)
                        {
                            Log.AddMessage($"Дальность полета пули привышена {bullet.Tag}");
                            bullet.IsShow = false;
                        }
                    }
                }
            }
        }