public PlayerInitialization(IPlayerFactory playerFactory, GamePoolContext gamePoolContext) { _playerFactory = playerFactory; _player = _playerFactory.CreatePlayer(); var _playerStruct = _playerFactory.GivePlayerData().PlayerStruct; _player.transform.position = _playerStruct.StartPosition; _playerStruct.Player = _player; var _playerComponents = _playerFactory.GivePlayerData().PlayerComponents; _playerComponents.Rigitbody = _playerStruct.Player.GetComponent <Rigidbody>(); var playerModel = new PlayerModel(_playerStruct, _playerComponents); gamePoolContext.AddPlayerModel(playerModel); }
private void Start() { _gamePoolContext = new GamePoolContext(); Camera camera = Camera.main; var inputInitialization = new InputInitialization(); var playerFactory = new PlayerFactory(_data.Player); var playerInitialization = new PlayerInitialization(playerFactory, _gamePoolContext); var interactiveFactory = new InteractiveFactory(_data.Bonus, _BonusAndTrapsPositions, _gamePoolContext); var interactiveInitialization = new InteractiveInitialization(interactiveFactory, _data.Bonus.GetCountOfMembers(), _gamePoolContext); _controllers = new Controllers(); _controllers.Add(playerInitialization); _controllers.Add(inputInitialization); _controllers.Add(interactiveInitialization); _controllers.Add(new InputController(inputInitialization.GetInput(), _data.Player)); _controllers.Add(new MoveController(inputInitialization.GetInput(), playerInitialization.GetPlayersRigidbody(), _gamePoolContext)); _controllers.Add(new PlayerLifeController(_gamePoolContext)); _controllers.Add(new CameraController(playerInitialization.GetPlayerTransform(), camera.transform)); _controllers.Initialization(); }
public DoorTrap(GamePoolContext gamePoolContext) { _gamePoolContext = gamePoolContext; }
public void GetGamePoolContext(GamePoolContext gamePoolContext) { _gamePoolContext = gamePoolContext; }
public SpeedBonus(GamePoolContext gamePoolContext, float speed) { _gamePoolContext = gamePoolContext; _speed = speed; }
public HealingBonus(GamePoolContext gamePoolContext, int heal) { _gamePoolContext = gamePoolContext; _heal = heal; }
public InteractiveFactory(InteractiveData data, List <Transform> positions, GamePoolContext gamePoolContext) { _data = data; _positions = positions; _gamePoolContext = gamePoolContext; }
//private InteractiveObjectsMassive _bonus; //надо создавать бонусы и пихать их в ГПК public InteractiveInitialization(InteractiveFactory interactiveFactory, int dataCount, GamePoolContext gamePoolContext) { _interactiveFactory = interactiveFactory; _data = interactiveFactory.GiveInteractiveData(); //работает. //Object.Destroy(_gamePoolContext.InteractiveModels[1].InteractiveStructe.Enemy); //_bonus = new InteractiveObjectsMassive(); for (var i = 0; i < dataCount; i++) { //_gamePoolContext.InteractiveModels[i].InteractiveStructe.Enemy = _interactiveFactory.CreateInteractiveFromMass(i); _currentEnemy = _interactiveFactory.CreateInteractiveFromMass(i); var InteractiveStruct = _data._interactiveStructe; _currentEnemy.transform.position = InteractiveStruct[i]._position; _currentEnemy.AddComponent <InteractiveProvider>(); _currentEnemy.GetComponent <InteractiveProvider>().health = _data._interactiveStructe[i].Health; _currentEnemy.GetComponent <InteractiveProvider>().speed = _data._interactiveStructe[i].Speed; _currentEnemy.GetComponent <InteractiveProvider>().type = _data._interactiveStructe[i].Type; _currentEnemy.GetComponent <InteractiveProvider>().positionInList = i; InteractiveStruct[i].Enemy = _currentEnemy; _currentEnemy.GetComponent <InteractiveProvider>().GetGamePoolContext(gamePoolContext); _currentEnemy.AddComponent <RadarObj>(); _currentEnemy.GetComponent <RadarObj>().enabled = false; _currentEnemy.GetComponent <RadarObj>().enabled = true; var interactiveCurrentModel = new InteractiveModel(InteractiveStruct[i]); gamePoolContext.AddInteractiveModelList(interactiveCurrentModel); //_bonus.AddUnit(_interactiveFactory.CreateInteractiveFromMass(i)); } }
public PlayerLifeController(GamePoolContext gamePoolContext) { _gamePoolContext = gamePoolContext; _health = _gamePoolContext.PlayerModel.PlayerStruct.Health; //_watchingHealth.WatchingHealth += HealthChange; }