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 UserInputController(PlayerMovementModel movementModel, ShootModel shotModel) { _playerMovModel = movementModel; _shootModel = shotModel; _userInputView = new UserInputView(this); GameManager.Instanse.GameEventSystem.StartGame += OnStartGame; GameManager.Instanse.GameEventSystem.KeyPress += OnKeyPressed; GameManager.Instanse.GameEventSystem.KeyUp += OnKeyUp; GameManager.Instanse.GameEventSystem.FinishGame += OnFinishGame; //инициализируем команды _commandsDictionary.Add(KeyCode.UpArrow, new MoveTowardsCommand(_playerMovModel)); _commandsDictionary.Add(KeyCode.LeftArrow, new RotateLeftCommand(_playerMovModel)); _commandsDictionary.Add(KeyCode.RightArrow, new RotateRightCommand(_playerMovModel)); _commandsDictionary.Add(KeyCode.Space, new FireWithWeakWeaponCommand(_shootModel)); _commandsDictionary.Add(KeyCode.LeftShift, new FireWithStrongBulletCommand()); _commandsDictionary.Add(KeyCode.LeftControl, new FireWithStrongLaserCommand()); _commandsDictionary.Add(KeyCode.Escape, new GamePauseCommand()); }
public virtual void Initialize(WeaponSocket weaponSocket, Weapon weapon, WeaponHud hud, AimOrigin aimOrigin, HitEvent hitEvent) { PhotonView = GetComponent<PhotonView>(); m_rigidbody = GetComponent<Rigidbody>(); WeaponAudio = GetComponent<AudioSource>(); m_shield = GetComponent<Shield>(); m_playerMovementModel = GetComponent<PlayerMovementModel>(); HitEvent = hitEvent; m_weaponHud = hud; WeaponSocket = weaponSocket; Weapon = weapon; AimOrigin = aimOrigin; CameraShake = CameraShake.Instance; CreateWeapon(); CreateMuzzleFlash(); WeaponCollision = WeaponObject.GetComponent<WeaponCollision>(); m_currentAmmo = Weapon.AmmoClip; m_weaponHud.SetAmmoAmount(m_currentAmmo, Weapon.AmmoClip); }
public MoveTowardsCommand(PlayerMovementModel model) { _model = model; }
public RotateRightCommand(PlayerMovementModel model) { _model = model; }
private void Start() { m_playerMovementModel = GetComponent <PlayerMovementModel>(); m_playerBootsModel = GetComponent <PlayerBootsModel>(); m_weaponModel = GetComponent <WeaponModel>(); }