private Unit GetNewUnit(int unitId, InitialUnitConfig initialUnitConfig, IGrid grid) { var spawnCell = GetSpawnCell(grid, initialUnitConfig); var unit = _unitFactory.GetUnit(unitId, initialUnitConfig.UnitConfig); unit.CurrentCell = spawnCell; return(unit); }
private Cell GetSpawnCell(IGrid grid, InitialUnitConfig unitConfig) { if (unitConfig.SpawnConfig.Randomly) { return(grid.GetRandomFreeCell()); } else { var cell = unitConfig.SpawnConfig.Cell; return(grid.TryGetSpawnCell(cell.x, cell.y)); } }