Exemplo n.º 1
0
    void InitializeGame()
    {
        //инициализируем пулл объектов
        Instantiate(ObjectPoolSetup);

        //инициализируем звездное небо
        Instantiate(StarsGenerator);
        //инициализируем игрока
        _player = Instantiate(PlayerPrefab) as GameObject;
        _playerMovementModel = new PlayerMovementModel(_player, RotationSpeed, MovingSpeed);

        //инициализируем стрельбу и урон
        _shotModel        = new ShootModel(_player);
        _damageController = new DamageController();
        Instantiate(StrongWeaponController);

        //инициализируем пользовательский ввод
        _inputController = new UserInputController(_playerMovementModel, _shotModel);
        _userInput       = _inputController.GetUserInputView();

        //инициализируем UI
        _playerPannel = new PlayerPannelController(PlayerPannel);
        _uiController = new UIController();
        _gameEventSystem.UpdateStrongBulletValueLaunch(MaxSrongBulletsCount);
        _scoreController = new ScoreController(ScoreDisplay);

        //инициализируем спавн астероидов
        Instantiate(AwaitingControllerPrefab);
        _spawnModel = new ObjectSpawnModel(AsteroidsSpawnPointsObject);
        _asteroidsSpawnController = new AsteroidsSpawnController(_spawnModel);
        _ufoSpawnController       = new UFOSpawnController(_spawnModel);

        _isGameInitialized = true;
    }