public PlayerUnitSpawner(IEncounterSelectionContext encounterSelectionContext, IRandomGridPositionProvider randomGridPositionProvider, IFactory <IUnitData, UnitCommandData> unitCommandDataFactory, IMapSectionData mapSectionData, ICommandQueue commandQueue, IUnitSpawnSettings unitSpawnSettings) { _encounterSelectionContext = encounterSelectionContext; _unitCommandDataFactory = unitCommandDataFactory; _mapSectionData = mapSectionData; _commandQueue = commandQueue; _randomGridPositionProvider = randomGridPositionProvider; _unitSpawnSettings = unitSpawnSettings; }
public void Construct(IUnitSpawnSettings unitSpawnSettings, IUnitDataIndexResolver unitDataIndexResolver, IRandomGridPositionProvider randomGridPositionProvider, ICommandQueue commandQueue, IFactory <IUnitData, UnitCommandData> unitCommandDataFactory, ILogger logger) { _numPlayers = (uint)unitSpawnSettings.GetUnits(UnitType.Player).Length; _unitDatas = unitSpawnSettings.GetUnits(UnitType.Player) .Concat(unitSpawnSettings.GetUnits(UnitType.NonPlayer)) .ToArray(); _unitDataIndexResolver = unitDataIndexResolver; _randomGridPositionProvider = randomGridPositionProvider; _commandQueue = commandQueue; _unitCommandDataFactory = unitCommandDataFactory; _logger = logger; Preconditions.CheckNotNull(_dropdown, _spawnButton, _cancelButton, _unitAmountDropdown); }