Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
 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;
 }
Ejemplo n.º 3
0
 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;
 }
Ejemplo n.º 4
0
        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;
 }