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; }
public ModelSpawnWidget() { DataContext = new ObjectSpawnModel(); InitializeComponent(); }