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; }