public IGameWorld Build(IEnemiesFactory enemiesFactory) { #region "Build level" int count = RngProvider.Random.Next(10, 100); Console.WriteLine("Build Trees"); for (int i = 0; i < count; i++) { this.AddGameObject(new Tree()); } Console.WriteLine("Build Benchs"); count = RngProvider.Random.Next(10, 100); for (int i = 0; i < count; i++) { this.AddGameObject(new Bench()); } Console.WriteLine("Create enemies"); count = 100; for (int i = 0; i < count; i++) { this.AddEnemy(enemiesFactory.Create()); } #endregion return(new GameWorld() { Enemies = _enemies, Objects = _gameObjects }); }
protected EnemySpawner(EnemyType handledType, IInstantiator instantiator, IEnemiesFactory enemiesFactory, SignalBus signalBus) { this.enemiesFactory = enemiesFactory; this.instantiator = instantiator; this.signalBus = signalBus; this.handledType = handledType; SubscribeToDestroySignal(); }
static void Main(string[] args) { var levels = new List <IEnemiesFactory>() { new EasyLevelEnemiesFactory(), new MiddleLevelEnemiesFactory(), new HardLevelEnemiesFactory() }; Console.WriteLine("Выберете уровень сложности и введите его номер:"); for (int i = 0; i < levels.Count; i++) // выведем все уровни сложности пользователю { Console.WriteLine($"{i + 1}. {levels[i]}"); // i+1 потому что нормальные люди считают с 1, а не с 0 } int selectedLevel; var userEnteredValue = Console.ReadLine(); var isSuccess = Int32.TryParse(userEnteredValue, out selectedLevel); if (!isSuccess) { Console.WriteLine("Critical error, all system crashed, pleaze reboooot ue pc"); Console.ReadKey(); return; } selectedLevel--; // -1 потому что нормальные люди всё ещё считают с 1))) if (selectedLevel > -1 && selectedLevel < levels.Count) // проверяем находится ли число в пределах массива { IGame game = new Game(); IEnemiesFactory factory = levels[selectedLevel]; game.AddPlayer(new Player()) .AddEnemyFactory(factory); game.Play(); } else { Console.WriteLine("Недопустимое число"); } Console.ReadKey(); }
static void Main(string[] args) { var levels = new List <IEnemiesFactory>() { new EasyLevelEnemiesFactory(), new MiddleLevelEnemiesFactory(), new HardLevelEnemiesFactory() }; Console.WriteLine("Select level: "); for (int i = 0; i < levels.Count; i++) { Console.WriteLine($"{i + 1}. {levels[i]}"); } var userEnteredValue = Console.ReadLine(); var isSuccess = Int32.TryParse(userEnteredValue, out int selectedLevel); if (!isSuccess) { Console.WriteLine("Critical error, all system crashed, pleaze reboooot ue pc"); Console.ReadKey(); return; } selectedLevel--; if (selectedLevel > -1 && selectedLevel < levels.Count) { IGame game = new Game(); IEnemiesFactory factory = levels[selectedLevel]; game.AddPlayer(new Player()) .AddEnemyFactory(factory); game.Play(); } else { Console.WriteLine("Wtf are you providing me?"); } Console.ReadKey(); }
public RegularEnemySpawner(IInstantiator instantiator, IEnemiesFactory enemiesFactory, SignalBus signalBus) : base(EnemyType.Regular, instantiator, enemiesFactory, signalBus) { }
public EliteEnemySpawner(IInstantiator instantiator, IEnemiesFactory enemiesFactory, SignalBus signalBus) : base(EnemyType.Elite, instantiator, enemiesFactory, signalBus) { }
public MotherShipSpawner(IInstantiator instantiator, IEnemiesFactory enemiesFactory, SignalBus signalBus) : base(EnemyType.MotherShip, instantiator, enemiesFactory, signalBus) { }
public IGame AddEnemyFactory(IEnemiesFactory factory) { _factory = factory; return(this); }