using Robust.Shared.Configuration;
using Robust.Shared.Enums;
using Robust.Shared.Map;
+using Robust.Shared.Map.Components;
using Robust.Shared.Player;
using Robust.Shared.Threading;
using Robust.Shared.Timing;
private float _updateInterval;
private int _thresholds;
+ private EntityQuery<MapGridComponent> _gridQuery;
private EntityQuery<GasTileOverlayComponent> _query;
public override void Initialize()
MapManager = _mapManager,
ChunkViewerPool = _chunkViewerPool,
LastSentChunks = _lastSentChunks,
+ GridQuery = _gridQuery,
};
_playerManager.PlayerStatusChanged += OnPlayerStatusChanged;
SubscribeLocalEvent<RoundRestartCleanupEvent>(Reset);
SubscribeLocalEvent<GasTileOverlayComponent, ComponentStartup>(OnStartup);
_query = GetEntityQuery<GasTileOverlayComponent>();
+ _gridQuery = GetEntityQuery<MapGridComponent>();
}
private void OnStartup(EntityUid uid, GasTileOverlayComponent component, ComponentStartup args)
public Dictionary<ICommonSession, Dictionary<NetEntity, HashSet<Vector2i>>> LastSentChunks;
public List<ICommonSession> Sessions;
+ public EntityQuery<MapGridComponent> GridQuery;
+
public void Execute(int index)
{
var playerSession = Sessions[index];
previouslySent.Remove(netGrid);
// If grid was deleted then don't worry about sending it to the client.
- if (!EntManager.TryGetEntity(netGrid, out var gridId) || !MapManager.IsGrid(gridId.Value))
+ if (!EntManager.TryGetEntity(netGrid, out var gridId) || GridQuery.HasComp(gridId.Value))
ev.RemovedChunks[netGrid] = oldIndices;
else
{
{
[Dependency] private readonly IConfigurationManager _configManager = default!;
[Dependency] protected readonly IGameTiming Timing = default!;
- [Dependency] private readonly IMapManager _mapManager = default!;
[Dependency] private readonly ITileDefinitionManager _tileDefinitionManager = default!;
[Dependency] private readonly EntityLookupSystem _lookup = default!;
[Dependency] private readonly InventorySystem _inventory = default!;