using Robust.Shared.Collections;
using Robust.Shared.Configuration;
using Robust.Shared.Console;
+using Robust.Shared.EntitySerialization;
using Robust.Shared.EntitySerialization.Systems;
using Robust.Shared.Map;
+using Robust.Shared.Map.Components;
using Robust.Shared.Player;
using Robust.Shared.Prototypes;
using Robust.Shared.Random;
/// </summary>
public sealed class ArrivalsSystem : EntitySystem
{
+ [Dependency] private readonly IChatManager _chat = default!;
[Dependency] private readonly IConfigurationManager _cfgManager = default!;
[Dependency] private readonly IConsoleHost _console = default!;
[Dependency] private readonly IGameTiming _timing = default!;
[Dependency] private readonly IPrototypeManager _protoManager = default!;
[Dependency] private readonly IRobustRandom _random = default!;
- [Dependency] private readonly IChatManager _chat = default!;
- [Dependency] private readonly SharedMapSystem _mapSystem = default!;
+ [Dependency] private readonly ActorSystem _actor = default!;
[Dependency] private readonly BiomeSystem _biomes = default!;
+ [Dependency] private readonly DeviceNetworkSystem _deviceNetworkSystem = default!;
[Dependency] private readonly GameTicker _ticker = default!;
[Dependency] private readonly MapLoaderSystem _loader = default!;
[Dependency] private readonly MetaDataSystem _metaData = default!;
- [Dependency] private readonly DeviceNetworkSystem _deviceNetworkSystem = default!;
+ [Dependency] private readonly SharedMapSystem _mapSystem = default!;
[Dependency] private readonly SharedTransformSystem _transform = default!;
[Dependency] private readonly ShuttleSystem _shuttles = default!;
[Dependency] private readonly StationSpawningSystem _stationSpawning = default!;
[Dependency] private readonly StationSystem _station = default!;
- [Dependency] private readonly ActorSystem _actor = default!;
private EntityQuery<PendingClockInComponent> _pendingQuery;
private EntityQuery<ArrivalsBlacklistComponent> _blacklistQuery;
private void SetupArrivalsStation()
{
var path = new ResPath(_cfgManager.GetCVar(CCVars.ArrivalsMap));
- if (!_loader.TryLoadMap(path, out var map, out var grids))
+ _mapSystem.CreateMap(out var mapId, runMapInit: false);
+ var mapUid = _mapSystem.GetMap(mapId);
+
+ if (!_loader.TryLoadGrid(mapId, path, out var grid))
return;
- _metaData.SetEntityName(map.Value, Loc.GetString("map-name-terminal"));
+ _metaData.SetEntityName(mapUid, Loc.GetString("map-name-terminal"));
- foreach (var id in grids)
- {
- EnsureComp<ArrivalsSourceComponent>(id);
- EnsureComp<ProtectedGridComponent>(id);
- EnsureComp<PreventPilotComponent>(id);
- }
+ EnsureComp<ArrivalsSourceComponent>(grid.Value);
+ EnsureComp<ProtectedGridComponent>(grid.Value);
+ EnsureComp<PreventPilotComponent>(grid.Value);
// Setup planet arrivals if relevant
if (_cfgManager.GetCVar(CCVars.ArrivalsPlanet))
{
var template = _random.Pick(_arrivalsBiomeOptions);
- _biomes.EnsurePlanet(map.Value, _protoManager.Index(template));
+ _biomes.EnsurePlanet(mapUid, _protoManager.Index(template));
var restricted = new RestrictedRangeComponent
{
Range = 32f
};
- AddComp(map.Value, restricted);
+ AddComp(mapUid, restricted);
}
- _mapSystem.InitializeMap(map.Value.Comp.MapId);
+ _mapSystem.InitializeMap(mapId);
// Handle roundstart stations.
var query = AllEntityQuery<StationArrivalsComponent>();