{
private readonly IEntityManager _entManager;
private readonly IGameTiming _timing;
- private readonly IMapManager _mapManager;
private readonly IPrototypeManager _prototypeManager;
private readonly AnchorableSystem _anchorable;
private readonly BiomeSystem _biome;
private readonly DungeonSystem _dungeon;
private readonly MetaDataSystem _metaData;
- private readonly SharedTransformSystem _xforms;
private readonly SharedMapSystem _map;
public readonly EntityUid Station;
IEntityManager entManager,
IGameTiming timing,
ILogManager logManager,
- IMapManager mapManager,
IPrototypeManager protoManager,
AnchorableSystem anchorable,
BiomeSystem biome,
DungeonSystem dungeon,
MetaDataSystem metaData,
- SharedTransformSystem xform,
SharedMapSystem map,
EntityUid station,
EntityUid? coordinatesDisk,
{
_entManager = entManager;
_timing = timing;
- _mapManager = mapManager;
_prototypeManager = protoManager;
_anchorable = anchorable;
_biome = biome;
_dungeon = dungeon;
_metaData = metaData;
- _xforms = xform;
_map = map;
Station = station;
CoordinatesDisk = coordinatesDisk;
}
}
- _mapManager.DoMapInitialize(mapId);
- _mapManager.SetMapPaused(mapId, true);
+ _map.InitializeMap(mapId);
+ _map.SetPaused(mapUid, true);
// Setup expedition
var expedition = _entManager.AddComponent<SalvageExpeditionComponent>(mapUid);
dungeonOffset = dungeonRotation.RotateVec(dungeonOffset);
var dungeonMod = _prototypeManager.Index<SalvageDungeonModPrototype>(mission.Dungeon);
var dungeonConfig = _prototypeManager.Index(dungeonMod.Proto);
- var dungeons = await WaitAsyncTask(_dungeon.GenerateDungeonAsync(dungeonConfig, mapUid, grid, (Vector2i) dungeonOffset,
+ var dungeons = await WaitAsyncTask(_dungeon.GenerateDungeonAsync(dungeonConfig, mapUid, grid, (Vector2i)dungeonOffset,
_missionParams.Seed));
var dungeon = dungeons.First();
try
{
- await SpawnRandomEntry(grid, entry, dungeon, random);
+ await SpawnRandomEntry((mapUid, grid), entry, dungeon, random);
}
catch (Exception e)
{
break;
_sawmill.Debug($"Spawning dungeon loot {entry.Proto}");
- await SpawnRandomEntry(grid, entry, dungeon, random);
+ await SpawnRandomEntry((mapUid, grid), entry, dungeon, random);
}
break;
default:
return true;
}
- private async Task SpawnRandomEntry(MapGridComponent grid, IBudgetEntry entry, Dungeon dungeon, Random random)
+ private async Task SpawnRandomEntry(Entity<MapGridComponent> grid, IBudgetEntry entry, Dungeon dungeon, Random random)
{
await SuspendIfOutOfTime();
{
var tile = availableTiles.RemoveSwap(random.Next(availableTiles.Count));
- if (!_anchorable.TileFree(grid, tile, (int) CollisionGroup.MachineLayer,
- (int) CollisionGroup.MachineLayer))
+ if (!_anchorable.TileFree(grid, tile, (int)CollisionGroup.MachineLayer,
+ (int)CollisionGroup.MachineLayer))
{
continue;
}
- var uid = _entManager.SpawnAtPosition(entry.Proto, grid.GridTileToLocal(tile));
+ var uid = _entManager.SpawnAtPosition(entry.Proto, _map.GridTileToLocal(grid, grid, tile));
_entManager.RemoveComponent<GhostRoleComponent>(uid);
_entManager.RemoveComponent<GhostTakeoverAvailableComponent>(uid);
return;