public static IUnitData[] GetUnits(this IUnitSpawnSettings unitSpawnSettings, UnitType unitType) { if (unitType == UnitType.Player) { return(unitSpawnSettings.PlayerUnits); } if (unitType == UnitType.NonPlayer) { return(unitSpawnSettings.NonPlayerUnits); } throw new ArgumentException(string.Format("Unsupported unit type: {0}", unitType)); }
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 SpawnUnitCommand(SpawnUnitData data, ICommandFactory commandFactory, IUnitSpawnSettings unitSpawnSettings, IMutableUnitRegistry unitRegistry, IGridUnitManager gridUnitManager, IUnitPool unitPool, ILogger logger) { _data = data; _commandFactory = commandFactory; _unitSpawnSettings = unitSpawnSettings; _unitRegistry = unitRegistry; _gridUnitManager = gridUnitManager; _unitPool = unitPool; _logger = logger; }
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); }
public UnitDataIndexResolver(IUnitSpawnSettings unitSpawnSettings, ILogger logger) { _unitSpawnSettings = unitSpawnSettings; _logger = logger; }