public MainAsteroidsScene()
        {
            _ufoSpawnInterval = ufoSpawnInterval;
            _timeInterval     = bigAsteroidSpawnIntreval;

            Dimensions     = new Vector2(Application.Width, Application.Height);
            random         = new Random();
            collidersWorld = new CollisionWorld();

            score = new TextActor(this);

            laserCounter = new TextActor(this);
            laserCounter.Transform.Position = new Vector2(0, 60);

            message      = new TextActor(this);
            message.Text = "Press SPACE to start";
            message.Transform.Position = new Vector2(Dimensions.X / 2, Dimensions.Y / 2);

            ship = new SpaceShip(this);
            ship.Transform.Position = new Vector2(Dimensions.X / 2, Dimensions.Y / 2);

            ufo = new UFO(this, ship);
            ufo.SetActive(false);

            asteroidsMaster = new AsteroidsSpawner(this);

            AttachTeleporterToScene();
            CollectBullets();
            CollectRenders();

            InputEvents.KeyBoard_SPACE.KeyReleased += Start;
            InputEvents.KeyBoard_LCTRL.KeyReleased += SwitchActorsRender;

            collidersWorld.Start();
            message.SetActive(true);

            IsNeedDraw   = true;
            IsNeedUpdate = true;
        }