public EnemyInitialization(IEnemyFactory enemyFactory) { _enemyFactory = enemyFactory; _enemy = new CompositeMove(); var enemy = _enemyFactory.CreateEnemy(EnemyType.Small); _enemy.AddUnit(enemy); _enemies = new List <IEnemy> { enemy }; }
private void SpawnEnemy() { _newEnemyPosition.x = Random.Range(-10.0f, 10.0f); _newEnemyPosition.y = Random.Range(-10.0f, 10.0f); var enemie = _enemiesPool[_enemyIndex]; enemie.transform.position = _newEnemyPosition; enemie.gameObject.SetActive(true); _enemiesMove.AddUnit(enemie); ++_enemyIndex; _enemyIndex %= _enemiesPool.Length; }
public Controllers(Data data) { var pcInputHorizontal = new PCInputHorizontal(); var pcInputVertical = new PCInputVertical(); var pcInputFire = new PCFireInput(); IPlayerFactory playerFactory = new PlayerFactory(data.Player); IPlayer player = playerFactory.CreatePlayer(); IBulletFactory bulletFactory = new BulletFactory(data.Bullet); IEnemyFactory enemyFactory = new EnemyFactory(); CompositeMove enemy = new CompositeMove(); int enemiesNum = 5; for (int i = 0; i < enemiesNum; ++i) { enemy.AddUnit(enemyFactory.CreateEnemy(data.Enemy, EnemyType.Small)); } var enemiesList = enemy.GetEnemiesList(); List <IDestructable> destructables = new List <IDestructable>(); foreach (var _enemy in enemiesList) { destructables.Add((IDestructable)_enemy); } destructables.Add((IDestructable)player); IUIFactory uIFactory = new UIFactory(); IUIInfo uI = uIFactory.CreateUI(data.UISettings); var executes = new List <IExecute>(); executes.Add(new InputController(pcInputHorizontal, pcInputVertical, pcInputFire)); executes.Add(new MoveController(pcInputHorizontal, pcInputVertical, player, data.Player)); executes.Add(new EnemyMoveController(enemy, player.GetPosition())); executes.Add(new FireController(player, pcInputFire, data.Bullet, bulletFactory)); executes.Add(new CollisionController(destructables)); executes.Add(new UIController(uI, player, enemiesList)); _executeControllers = executes.ToArray(); }
public Controllers(Data data) { var pcInputHorizontal = new PCInputHorizontal(); var pcInputVertical = new PCInputVertical(); IPlayerFactory playerFactory = new PlayerFactory(data.Player); var player = playerFactory.CreatePlayer(); IEnemyFactory enemyFactory = new EnemyFactory(); CompositeMove enemy = new CompositeMove(); enemy.AddUnit(enemyFactory.CreateEnemy(data.Enemy, EnemyType.Small)); var executes = new List <IExecute>(); executes.Add(new InputController(pcInputHorizontal, pcInputVertical)); executes.Add(new MoveController(pcInputHorizontal, pcInputVertical, player, data.Player)); executes.Add(new EnemyMoveController(enemy, player)); _executeControllers = executes.ToArray(); }