Ejemplo 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;
    }
 public UFOSpawnController(ObjectSpawnModel spawnModel)
 {
     _spawnModel = spawnModel;
     _ufoPrefabs = GameManager.Instanse.UFOPrefabs;
     GameManager.Instanse.GameEventSystem.DestroyObject += OnDestroyObject;
     GameManager.Instanse.GameEventSystem.FinishGame    += OnFinishGame;
     GameManager.Instanse.CurrentUFOCount = 0;
 }
 public AsteroidsSpawnController(ObjectSpawnModel spawnModel)
 {
     _bigAsteroidPrefabs   = GameManager.Instanse.BigAsteroids;
     _smallAsteroidPrefabs = GameManager.Instanse.SmallAsteroids;;
     _spawnModel           = spawnModel;
     GameManager.Instanse.GameEventSystem.StartGame    += OnStartGame;
     GameManager.Instanse.GameEventSystem.AwaitComplit += OnAwaitComplite;
     GameManager.Instanse.GameEventSystem.FinishGame   += OnFinishGame;
     GameManager.Instanse.CurrentAsteroidsCount         = 0;
 }
Ejemplo n.º 4
0
 public ModelSpawnWidget()
 {
     DataContext = new ObjectSpawnModel();
     InitializeComponent();
 }