Resolve 'EntitySystem.Get<T>()' is obsolete in content (#27936)

* PROJECT 0 WARNINGS: Resolve `'EntitySystem.Get<T>()' is obsolete` in content

* pass entman

* dog ass test

* webeditor

(cherry picked from commit 993eef1e7c22b2b79e528967ef5bb669f50236b1)
This commit is contained in:
Kara
2024-05-13 03:34:52 +03:00
committed by Spatison
parent c9e539b008
commit 0e9ac91ed3
46 changed files with 145 additions and 78 deletions

View File

@@ -5,11 +5,13 @@ namespace Content.Client.Decals;
public sealed class ToggleDecalCommand : IConsoleCommand
{
[Dependency] private readonly IEntityManager _e = default!;
public string Command => "toggledecals";
public string Description => "Toggles decaloverlay";
public string Help => $"{Command}";
public void Execute(IConsoleShell shell, string argStr, string[] args)
{
EntitySystem.Get<DecalSystem>().ToggleOverlay();
_e.System<DecalSystem>().ToggleOverlay();
}
}

View File

@@ -16,6 +16,7 @@ namespace Content.Client.Decals.UI;
public sealed partial class DecalPlacerWindow : DefaultWindow
{
[Dependency] private readonly IPrototypeManager _prototype = default!;
[Dependency] private readonly IEntityManager _e = default!;
private readonly DecalPlacementSystem _decalPlacementSystem;
@@ -39,7 +40,7 @@ public sealed partial class DecalPlacerWindow : DefaultWindow
RobustXamlLoader.Load(this);
IoCManager.InjectDependencies(this);
_decalPlacementSystem = EntitySystem.Get<DecalPlacementSystem>();
_decalPlacementSystem = _e.System<DecalPlacementSystem>();
// This needs to be done in C# so we can have custom stuff passed in the constructor
// and thus have a proper step size

View File

@@ -143,11 +143,13 @@ public sealed class NetworkConfiguratorSystem : SharedNetworkConfiguratorSystem
public sealed class ClearAllNetworkLinkOverlays : IConsoleCommand
{
[Dependency] private readonly IEntityManager _e = default!;
public string Command => "clearnetworklinkoverlays";
public string Description => "Clear all network link overlays.";
public string Help => Command;
public void Execute(IConsoleShell shell, string argStr, string[] args)
{
IoCManager.Resolve<IEntityManager>().System<NetworkConfiguratorSystem>().ClearAllOverlays();
_e.System<NetworkConfiguratorSystem>().ClearAllOverlays();
}
}

View File

@@ -8,6 +8,8 @@ namespace Content.Client.NodeContainer
{
public sealed class NodeVisCommand : IConsoleCommand
{
[Dependency] private readonly IEntityManager _e = default!;
public string Command => "nodevis";
public string Description => "Toggles node group visualization";
public string Help => "";
@@ -21,20 +23,22 @@ namespace Content.Client.NodeContainer
return;
}
var sys = EntitySystem.Get<NodeGroupSystem>();
var sys = _e.System<NodeGroupSystem>();
sys.SetVisEnabled(!sys.VisEnabled);
}
}
public sealed class NodeVisFilterCommand : IConsoleCommand
{
[Dependency] private readonly IEntityManager _e = default!;
public string Command => "nodevisfilter";
public string Description => "Toggles showing a specific group on nodevis";
public string Help => "Usage: nodevis [filter]\nOmit filter to list currently masked-off";
public void Execute(IConsoleShell shell, string argStr, string[] args)
{
var sys = EntitySystem.Get<NodeGroupSystem>();
var sys = _e.System<NodeGroupSystem>();
if (args.Length == 0)
{

View File

@@ -3,6 +3,7 @@ using Content.Server.GameTicking.Commands;
using Content.Shared.CCVar;
using Robust.Shared.Configuration;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Timing;
namespace Content.IntegrationTests.Tests.Commands
@@ -40,8 +41,7 @@ namespace Content.IntegrationTests.Tests.Commands
tickBeforeRestart = entityManager.CurrentTick;
var command = new RestartRoundNowCommand();
command.Execute(null, string.Empty, Array.Empty<string>());
gameTicker.RestartRound();
if (lobbyEnabled)
{

View File

@@ -8,6 +8,8 @@ namespace Content.Server.Administration.Commands
[AdminCommand(AdminFlags.Admin)]
sealed class DSay : IConsoleCommand
{
[Dependency] private readonly IEntityManager _e = default!;
public string Command => "dsay";
public string Description => Loc.GetString("dsay-command-description");
@@ -33,7 +35,7 @@ namespace Content.Server.Administration.Commands
if (string.IsNullOrEmpty(message))
return;
var chat = EntitySystem.Get<ChatSystem>();
var chat = _e.System<ChatSystem>();
chat.TrySendInGameOOCMessage(entity, message, InGameOOCChatType.Dead, false, shell, player);
}
}

View File

@@ -8,6 +8,8 @@ namespace Content.Server.Administration.Commands
[AdminCommand(AdminFlags.Round)]
public sealed class ReadyAll : IConsoleCommand
{
[Dependency] private readonly IEntityManager _e = default!;
public string Command => "readyall";
public string Description => "Readies up all players in the lobby, except for observers.";
public string Help => $"{Command} | ̣{Command} <ready>";
@@ -20,7 +22,7 @@ namespace Content.Server.Administration.Commands
ready = bool.Parse(args[0]);
}
var gameTicker = EntitySystem.Get<GameTicker>();
var gameTicker = _e.System<GameTicker>();
if (gameTicker.RunLevel != GameRunLevel.PreRoundLobby)

View File

@@ -8,6 +8,8 @@ namespace Content.Server.Administration.Commands
[AdminCommand(AdminFlags.Round)]
public sealed class CallShuttleCommand : IConsoleCommand
{
[Dependency] private readonly IEntityManager _e = default!;
public string Command => "callshuttle";
public string Description => Loc.GetString("call-shuttle-command-description");
public string Help => Loc.GetString("call-shuttle-command-help-text", ("command",Command));
@@ -19,7 +21,7 @@ namespace Content.Server.Administration.Commands
// ReSharper disable once ConvertIfStatementToSwitchStatement
if (args.Length == 1 && TimeSpan.TryParseExact(args[0], ContentLocalizationManager.TimeSpanMinutesFormats, loc.DefaultCulture, out var timeSpan))
{
EntitySystem.Get<RoundEndSystem>().RequestRoundEnd(timeSpan, shell.Player?.AttachedEntity, false);
_e.System<RoundEndSystem>().RequestRoundEnd(timeSpan, shell.Player?.AttachedEntity, false);
}
else if (args.Length == 1)
{
@@ -27,7 +29,7 @@ namespace Content.Server.Administration.Commands
}
else
{
EntitySystem.Get<RoundEndSystem>().RequestRoundEnd(shell.Player?.AttachedEntity, false);
_e.System<RoundEndSystem>().RequestRoundEnd(shell.Player?.AttachedEntity, false);
}
}
}
@@ -35,13 +37,15 @@ namespace Content.Server.Administration.Commands
[AdminCommand(AdminFlags.Round)]
public sealed class RecallShuttleCommand : IConsoleCommand
{
[Dependency] private readonly IEntityManager _e = default!;
public string Command => "recallshuttle";
public string Description => Loc.GetString("recall-shuttle-command-description");
public string Help => Loc.GetString("recall-shuttle-command-help-text", ("command",Command));
public void Execute(IConsoleShell shell, string argStr, string[] args)
{
EntitySystem.Get<RoundEndSystem>().CancelRoundEndCountdown(shell.Player?.AttachedEntity, false);
_e.System<RoundEndSystem>().CancelRoundEndCountdown(shell.Player?.AttachedEntity, false);
}
}
}

View File

@@ -7,6 +7,8 @@ namespace Content.Server.Administration.Commands;
[AdminCommand(AdminFlags.VarEdit)]
public sealed class ThrowScoreboardCommand : IConsoleCommand
{
[Dependency] private readonly IEntityManager _e = default!;
public string Command => "throwscoreboard";
public string Description => Loc.GetString("throw-scoreboard-command-description");
@@ -20,6 +22,6 @@ public sealed class ThrowScoreboardCommand : IConsoleCommand
shell.WriteLine(Help);
return;
}
EntitySystem.Get<GameTicker>().ShowRoundEndScoreboard();
_e.System<GameTicker>().ShowRoundEndScoreboard();
}
}

View File

@@ -23,6 +23,7 @@ public sealed class AdminLogsEui : BaseEui
[Dependency] private readonly IAdminManager _adminManager = default!;
[Dependency] private readonly ILogManager _logManager = default!;
[Dependency] private readonly IConfigurationManager _configuration = default!;
[Dependency] private readonly IEntityManager _e = default!;
private readonly ISawmill _sawmill;
@@ -51,7 +52,7 @@ public sealed class AdminLogsEui : BaseEui
};
}
private int CurrentRoundId => EntitySystem.Get<GameTicker>().RoundId;
private int CurrentRoundId => _e.System<GameTicker>().RoundId;
public override async void Opened()
{

View File

@@ -31,7 +31,7 @@ public sealed class SpawnExplosionEui : BaseEui
if (request.TotalIntensity <= 0 || request.IntensitySlope <= 0)
return;
var explosion = EntitySystem.Get<ExplosionSystem>().GenerateExplosionPreview(request);
var explosion = _explosionSystem.GenerateExplosionPreview(request);
if (explosion == null)
{

View File

@@ -8,13 +8,15 @@ namespace Content.Server.Atmos.Commands
[AdminCommand(AdminFlags.Debug)]
public sealed class ListGasesCommand : IConsoleCommand
{
[Dependency] private readonly IEntityManager _e = default!;
public string Command => "listgases";
public string Description => "Prints a list of gases and their indices.";
public string Help => "listgases";
public void Execute(IConsoleShell shell, string argStr, string[] args)
{
var atmosSystem = EntitySystem.Get<AtmosphereSystem>();
var atmosSystem = _e.System<AtmosphereSystem>();
foreach (var gasPrototype in atmosSystem.Gases)
{

View File

@@ -8,6 +8,8 @@ namespace Content.Server.Atmos.Commands
[AdminCommand(AdminFlags.Debug)]
public sealed class ShowAtmos : IConsoleCommand
{
[Dependency] private readonly IEntityManager _e = default!;
public string Command => "showatmos";
public string Description => "Toggles seeing atmos debug overlay.";
public string Help => $"Usage: {Command}";
@@ -21,7 +23,7 @@ namespace Content.Server.Atmos.Commands
return;
}
var atmosDebug = EntitySystem.Get<AtmosDebugOverlaySystem>();
var atmosDebug = _e.System<AtmosDebugOverlaySystem>();
var enabled = atmosDebug.ToggleObserver(player);
shell.WriteLine(enabled

View File

@@ -14,7 +14,7 @@ namespace Content.Server.Atmos.Components
set
{
Type = value;
EntitySystem.Get<AtmosPlaqueSystem>().UpdateSign(Owner, this);
IoCManager.Resolve<IEntityManager>().System<AtmosPlaqueSystem>().UpdateSign(Owner, this);
}
}
}

View File

@@ -90,8 +90,8 @@ public abstract class AirAlarmModeExecutor : IAirAlarmMode
{
IoCManager.InjectDependencies(this);
DeviceNetworkSystem = EntitySystem.Get<DeviceNetworkSystem>();
AirAlarmSystem = EntitySystem.Get<AirAlarmSystem>();
DeviceNetworkSystem = EntityManager.System<DeviceNetworkSystem>();
AirAlarmSystem = EntityManager.System<AirAlarmSystem>();
}
}

View File

@@ -9,6 +9,8 @@ namespace Content.Server.Chat.Commands
[AnyCommand]
internal sealed class LOOCCommand : IConsoleCommand
{
[Dependency] private readonly IEntityManager _e = default!;
public string Command => "looc";
public string Description => "Send Local Out Of Character chat messages.";
public string Help => "looc <text>";
@@ -34,7 +36,7 @@ namespace Content.Server.Chat.Commands
if (string.IsNullOrEmpty(message))
return;
EntitySystem.Get<ChatSystem>().TrySendInGameOOCMessage(entity, message, InGameOOCChatType.Looc, false, shell, player);
_e.System<ChatSystem>().TrySendInGameOOCMessage(entity, message, InGameOOCChatType.Looc, false, shell, player);
}
}
}

View File

@@ -122,7 +122,7 @@ namespace Content.Server.Chemistry.EntitySystems
var reagent = _protoManager.Index<ReagentPrototype>(reagentQuantity.Reagent.Prototype);
var reaction =
reagent.ReactionTile(tile, (reagentQuantity.Quantity / vapor.TransferAmount) * 0.25f);
reagent.ReactionTile(tile, (reagentQuantity.Quantity / vapor.TransferAmount) * 0.25f, EntityManager);
if (reaction > reagentQuantity.Quantity)
{

View File

@@ -21,19 +21,20 @@ public sealed partial class CleanDecalsReaction : ITileReaction
[DataField]
public FixedPoint2 CleanCost { get; private set; } = FixedPoint2.New(0.25f);
public FixedPoint2 TileReact(TileRef tile, ReagentPrototype reagent, FixedPoint2 reactVolume)
public FixedPoint2 TileReact(TileRef tile,
ReagentPrototype reagent,
FixedPoint2 reactVolume,
IEntityManager entityManager)
{
var entMan = IoCManager.Resolve<IEntityManager>();
if (reactVolume <= CleanCost ||
!entMan.TryGetComponent<MapGridComponent>(tile.GridUid, out var grid) ||
!entMan.TryGetComponent<DecalGridComponent>(tile.GridUid, out var decalGrid))
!entityManager.TryGetComponent<MapGridComponent>(tile.GridUid, out var grid) ||
!entityManager.TryGetComponent<DecalGridComponent>(tile.GridUid, out var decalGrid))
{
return FixedPoint2.Zero;
}
var lookupSystem = entMan.System<EntityLookupSystem>();
var decalSystem = entMan.System<DecalSystem>();
var lookupSystem = entityManager.System<EntityLookupSystem>();
var decalSystem = entityManager.System<DecalSystem>();
// Very generous hitbox.
var decals = decalSystem
.GetDecalsIntersecting(tile.GridUid, lookupSystem.GetLocalBounds(tile, grid.TileSize).Enlarged(0.5f).Translated(new Vector2(-0.5f, -0.5f)));

View File

@@ -31,12 +31,14 @@ public sealed partial class CleanTileReaction : ITileReaction
[DataField("reagent", customTypeSerializer: typeof(PrototypeIdSerializer<ReagentPrototype>))]
public string ReplacementReagent = "Water";
FixedPoint2 ITileReaction.TileReact(TileRef tile, ReagentPrototype reagent, FixedPoint2 reactVolume)
FixedPoint2 ITileReaction.TileReact(TileRef tile,
ReagentPrototype reagent,
FixedPoint2 reactVolume,
IEntityManager entityManager)
{
var entMan = IoCManager.Resolve<IEntityManager>();
var entities = entMan.System<EntityLookupSystem>().GetLocalEntitiesIntersecting(tile, 0f).ToArray();
var puddleQuery = entMan.GetEntityQuery<PuddleComponent>();
var solutionContainerSystem = entMan.System<SolutionContainerSystem>();
var entities = entityManager.System<EntityLookupSystem>().GetLocalEntitiesIntersecting(tile, 0f).ToArray();
var puddleQuery = entityManager.GetEntityQuery<PuddleComponent>();
var solutionContainerSystem = entityManager.System<SolutionContainerSystem>();
// Multiply as the amount we can actually purge is higher than the react amount.
var purgeAmount = reactVolume / CleanAmountMultiplier;

View File

@@ -35,13 +35,13 @@ public sealed partial class CreateEntityTileReaction : ITileReaction
[DataField]
public float RandomOffsetMax = 0.0f;
public FixedPoint2 TileReact(TileRef tile, ReagentPrototype reagent, FixedPoint2 reactVolume)
public FixedPoint2 TileReact(TileRef tile,
ReagentPrototype reagent,
FixedPoint2 reactVolume,
IEntityManager entityManager)
{
if (reactVolume >= Usage)
{
// TODO probably pass this in args like reagenteffects do.
var entMan = IoCManager.Resolve<IEntityManager>();
if (Whitelist != null)
{
int acc = 0;
@@ -60,9 +60,9 @@ public sealed partial class CreateEntityTileReaction : ITileReaction
var xoffs = random.NextFloat(-RandomOffsetMax, RandomOffsetMax);
var yoffs = random.NextFloat(-RandomOffsetMax, RandomOffsetMax);
var center = entMan.System<TurfSystem>().GetTileCenter(tile);
var center = entityManager.System<TurfSystem>().GetTileCenter(tile);
var pos = center.Offset(new Vector2(xoffs, yoffs));
entMan.SpawnEntity(Entity, pos);
entityManager.SpawnEntity(Entity, pos);
return Usage;
}

View File

@@ -14,12 +14,15 @@ namespace Content.Server.Chemistry.TileReactions
{
[DataField("coolingTemperature")] private float _coolingTemperature = 2f;
public FixedPoint2 TileReact(TileRef tile, ReagentPrototype reagent, FixedPoint2 reactVolume)
public FixedPoint2 TileReact(TileRef tile,
ReagentPrototype reagent,
FixedPoint2 reactVolume,
IEntityManager entityManager)
{
if (reactVolume <= FixedPoint2.Zero || tile.Tile.IsEmpty)
return FixedPoint2.Zero;
var atmosphereSystem = EntitySystem.Get<AtmosphereSystem>();
var atmosphereSystem = entityManager.System<AtmosphereSystem>();
var environment = atmosphereSystem.GetTileMixture(tile.GridUid, null, tile.GridIndices, true);

View File

@@ -13,12 +13,15 @@ namespace Content.Server.Chemistry.TileReactions
{
[DataField("temperatureMultiplier")] private float _temperatureMultiplier = 1.15f;
public FixedPoint2 TileReact(TileRef tile, ReagentPrototype reagent, FixedPoint2 reactVolume)
public FixedPoint2 TileReact(TileRef tile,
ReagentPrototype reagent,
FixedPoint2 reactVolume,
IEntityManager entityManager)
{
if (reactVolume <= FixedPoint2.Zero || tile.Tile.IsEmpty)
return FixedPoint2.Zero;
var atmosphereSystem = EntitySystem.Get<AtmosphereSystem>();
var atmosphereSystem = entityManager.System<AtmosphereSystem>();
var environment = atmosphereSystem.GetTileMixture(tile.GridUid, null, tile.GridIndices, true);
if (environment == null || !atmosphereSystem.IsHotspotActive(tile.GridUid, tile.GridIndices))

View File

@@ -12,9 +12,12 @@ namespace Content.Server.Chemistry.TileReactions;
[DataDefinition]
public sealed partial class PryTileReaction : ITileReaction
{
public FixedPoint2 TileReact(TileRef tile, ReagentPrototype reagent, FixedPoint2 reactVolume)
public FixedPoint2 TileReact(TileRef tile,
ReagentPrototype reagent,
FixedPoint2 reactVolume,
IEntityManager entityManager)
{
var sys = IoCManager.Resolve<IEntityManager>().System<TileSystem>();
var sys = entityManager.System<TileSystem>();
sys.PryTile(tile);
return reactVolume;
}

View File

@@ -12,9 +12,12 @@ namespace Content.Server.Chemistry.TileReactions
[DataDefinition]
public sealed partial class SpillIfPuddlePresentTileReaction : ITileReaction
{
public FixedPoint2 TileReact(TileRef tile, ReagentPrototype reagent, FixedPoint2 reactVolume)
public FixedPoint2 TileReact(TileRef tile,
ReagentPrototype reagent,
FixedPoint2 reactVolume,
IEntityManager entityManager)
{
var spillSystem = EntitySystem.Get<PuddleSystem>();
var spillSystem = entityManager.System<PuddleSystem>();
if (reactVolume < 5 || !spillSystem.TryGetPuddle(tile, out _))
return FixedPoint2.Zero;

View File

@@ -26,13 +26,14 @@ namespace Content.Server.Chemistry.TileReactions
/// </summary>
[DataField("superSlippery")] private bool _superSlippery;
public FixedPoint2 TileReact(TileRef tile, ReagentPrototype reagent, FixedPoint2 reactVolume)
public FixedPoint2 TileReact(TileRef tile,
ReagentPrototype reagent,
FixedPoint2 reactVolume,
IEntityManager entityManager)
{
if (reactVolume < 5)
return FixedPoint2.Zero;
var entityManager = IoCManager.Resolve<IEntityManager>();
if (entityManager.EntitySysManager.GetEntitySystem<PuddleSystem>()
.TrySpillAt(tile, new Solution(reagent.ID, reactVolume), out var puddleUid, false, false))
{

View File

@@ -29,7 +29,7 @@ namespace Content.Server.Destructible.Thresholds.Behaviors
!system.EntityManager.TryGetComponent<TransformComponent>(owner, out var xform))
return;
var vendingMachineSystem = EntitySystem.Get<VendingMachineSystem>();
var vendingMachineSystem = system.EntityManager.System<VendingMachineSystem>();
var inventory = vendingMachineSystem.GetAvailableInventory(owner, vendingcomp);
if (inventory.Count <= 0)
return;

View File

@@ -11,7 +11,7 @@ public sealed partial class OpenBehavior : IThresholdBehavior
{
public void Execute(EntityUid uid, DestructibleSystem system, EntityUid? cause = null)
{
var openable = EntitySystem.Get<OpenableSystem>();
var openable = system.EntityManager.System<OpenableSystem>();
openable.TryOpen(uid);
}
}

View File

@@ -27,8 +27,8 @@ namespace Content.Server.Destructible.Thresholds.Behaviors
/// <param name="cause"></param>
public void Execute(EntityUid owner, DestructibleSystem system, EntityUid? cause = null)
{
var solutionContainerSystem = EntitySystem.Get<SolutionContainerSystem>();
var spillableSystem = EntitySystem.Get<PuddleSystem>();
var solutionContainerSystem = system.EntityManager.System<SolutionContainerSystem>();
var spillableSystem = system.EntityManager.System<PuddleSystem>();
var coordinates = system.EntityManager.GetComponent<TransformComponent>(owner).Coordinates;

View File

@@ -715,7 +715,7 @@ public sealed partial class PuddleSystem : SharedPuddleSystem
{
var (reagent, quantity) = solution.Contents[i];
var proto = _prototypeManager.Index<ReagentPrototype>(reagent.Prototype);
var removed = proto.ReactionTile(tileRef, quantity);
var removed = proto.ReactionTile(tileRef, quantity, EntityManager);
if (removed <= FixedPoint2.Zero)
continue;

View File

@@ -325,7 +325,7 @@ public sealed class SmokeSystem : EntitySystem
continue;
var reagent = _prototype.Index<ReagentPrototype>(reagentQuantity.Reagent.Prototype);
reagent.ReactionTile(tile, reagentQuantity.Quantity);
reagent.ReactionTile(tile, reagentQuantity.Quantity, EntityManager);
}
}

View File

@@ -7,13 +7,15 @@ namespace Content.Server.GameTicking.Commands
[AdminCommand(AdminFlags.Round)]
sealed class DelayStartCommand : IConsoleCommand
{
[Dependency] private readonly IEntityManager _e = default!;
public string Command => "delaystart";
public string Description => "Delays the round start.";
public string Help => $"Usage: {Command} <seconds>\nPauses/Resumes the countdown if no argument is provided.";
public void Execute(IConsoleShell shell, string argStr, string[] args)
{
var ticker = EntitySystem.Get<GameTicker>();
var ticker = _e.System<GameTicker>();
if (ticker.RunLevel != GameRunLevel.PreRoundLobby)
{
shell.WriteLine("This can only be executed while the game is in the pre-round lobby.");

View File

@@ -7,13 +7,15 @@ namespace Content.Server.GameTicking.Commands
[AdminCommand(AdminFlags.Round)]
sealed class EndRoundCommand : IConsoleCommand
{
[Dependency] private readonly IEntityManager _e = default!;
public string Command => "endround";
public string Description => "Ends the round and moves the server to PostRound.";
public string Help => String.Empty;
public void Execute(IConsoleShell shell, string argStr, string[] args)
{
var ticker = EntitySystem.Get<GameTicker>();
var ticker = _e.System<GameTicker>();
if (ticker.RunLevel != GameRunLevel.InRound)
{

View File

@@ -10,13 +10,15 @@ namespace Content.Server.GameTicking.Commands
[AdminCommand(AdminFlags.Round)]
sealed class ForcePresetCommand : IConsoleCommand
{
[Dependency] private readonly IEntityManager _e = default!;
public string Command => "forcepreset";
public string Description => "Forces a specific game preset to start for the current lobby.";
public string Help => $"Usage: {Command} <preset>";
public void Execute(IConsoleShell shell, string argStr, string[] args)
{
var ticker = EntitySystem.Get<GameTicker>();
var ticker = _e.System<GameTicker>();
if (ticker.RunLevel != GameRunLevel.PreRoundLobby)
{
shell.WriteLine("This can only be executed while the game is in the pre-round lobby.");

View File

@@ -10,6 +10,8 @@ namespace Content.Server.GameTicking.Commands
[AdminCommand(AdminFlags.Round)]
public sealed class GoLobbyCommand : IConsoleCommand
{
[Dependency] private readonly IEntityManager _e = default!;
public string Command => "golobby";
public string Description => "Enables the lobby and restarts the round.";
public string Help => $"Usage: {Command} / {Command} <preset>";
@@ -18,7 +20,7 @@ namespace Content.Server.GameTicking.Commands
GamePresetPrototype? preset = null;
var presetName = string.Join(" ", args);
var ticker = EntitySystem.Get<GameTicker>();
var ticker = _e.System<GameTicker>();
if (args.Length > 0)
{

View File

@@ -7,6 +7,8 @@ namespace Content.Server.GameTicking.Commands
[AnyCommand]
sealed class ObserveCommand : IConsoleCommand
{
[Dependency] private readonly IEntityManager _e = default!;
public string Command => "observe";
public string Description => "";
public string Help => "";
@@ -18,7 +20,7 @@ namespace Content.Server.GameTicking.Commands
return;
}
var ticker = EntitySystem.Get<GameTicker>();
var ticker = _e.System<GameTicker>();
if (ticker.RunLevel == GameRunLevel.PreRoundLobby)
{

View File

@@ -8,13 +8,15 @@ namespace Content.Server.GameTicking.Commands
[AdminCommand(AdminFlags.Round)]
public sealed class RestartRoundCommand : IConsoleCommand
{
[Dependency] private readonly IEntityManager _e = default!;
public string Command => "restartround";
public string Description => "Ends the current round and starts the countdown for the next lobby.";
public string Help => string.Empty;
public void Execute(IConsoleShell shell, string argStr, string[] args)
{
var ticker = EntitySystem.Get<GameTicker>();
var ticker = _e.System<GameTicker>();
if (ticker.RunLevel != GameRunLevel.InRound)
{
@@ -22,20 +24,22 @@ namespace Content.Server.GameTicking.Commands
return;
}
EntitySystem.Get<RoundEndSystem>().EndRound();
_e.System<RoundEndSystem>().EndRound();
}
}
[AdminCommand(AdminFlags.Round)]
public sealed class RestartRoundNowCommand : IConsoleCommand
{
[Dependency] private readonly IEntityManager _e = default!;
public string Command => "restartroundnow";
public string Description => "Moves the server from PostRound to a new PreRoundLobby.";
public string Help => String.Empty;
public void Execute(IConsoleShell shell, string argStr, string[] args)
{
EntitySystem.Get<GameTicker>().RestartRound();
_e.System<GameTicker>().RestartRound();
}
}
}

View File

@@ -7,13 +7,15 @@ namespace Content.Server.GameTicking.Commands
[AdminCommand(AdminFlags.Round)]
sealed class StartRoundCommand : IConsoleCommand
{
[Dependency] private readonly IEntityManager _e = default!;
public string Command => "startround";
public string Description => "Ends PreRoundLobby state and starts the round.";
public string Help => String.Empty;
public void Execute(IConsoleShell shell, string argStr, string[] args)
{
var ticker = EntitySystem.Get<GameTicker>();
var ticker = _e.System<GameTicker>();
if (ticker.RunLevel != GameRunLevel.PreRoundLobby)
{

View File

@@ -6,6 +6,8 @@ namespace Content.Server.GameTicking.Commands
[AnyCommand]
sealed class ToggleReadyCommand : IConsoleCommand
{
[Dependency] private readonly IEntityManager _e = default!;
public string Command => "toggleready";
public string Description => "";
public string Help => "";
@@ -23,7 +25,7 @@ namespace Content.Server.GameTicking.Commands
return;
}
var ticker = EntitySystem.Get<GameTicker>();
var ticker = _e.System<GameTicker>();
ticker.ToggleReady(player, bool.Parse(args[0]));
}
}

View File

@@ -795,13 +795,15 @@ namespace Content.Server.Ghost.Roles
[AnyCommand]
public sealed class GhostRoles : IConsoleCommand
{
[Dependency] private readonly IEntityManager _e = default!;
public string Command => "ghostroles";
public string Description => "Opens the ghost role request window.";
public string Help => $"{Command}";
public void Execute(IConsoleShell shell, string argStr, string[] args)
{
if (shell.Player != null)
EntitySystem.Get<GhostRoleSystem>().OpenEui(shell.Player);
_e.System<GhostRoleSystem>().OpenEui(shell.Player);
else
shell.WriteLine("You can only open the ghost roles UI on a client.");
}

View File

@@ -40,7 +40,7 @@ namespace Content.Server.Ghost.Roles.UI
{
base.Closed();
EntitySystem.Get<GhostRoleSystem>().CloseEui(Player);
_ghostRoleSystem.CloseEui(Player);
}
}
}

View File

@@ -10,7 +10,7 @@ public sealed partial class HolidayMapCondition : GameMapCondition
public override bool Check(GameMapPrototype map)
{
var holidaySystem = EntitySystem.Get<HolidaySystem>();
var holidaySystem = IoCManager.Resolve<IEntityManager>().System<HolidaySystem>();
return Holidays.Any(holiday => holidaySystem.IsCurrentlyHoliday(holiday)) ^ Inverted;
}

View File

@@ -37,7 +37,7 @@ namespace Content.Server.NodeContainer.Nodes
_alwaysReachable.Add(pipeNode);
if (NodeGroup != null)
EntitySystem.Get<NodeGroupSystem>().QueueRemakeGroup((BaseNodeGroup) NodeGroup);
IoCManager.Resolve<IEntityManager>().System<NodeGroupSystem>().QueueRemakeGroup((BaseNodeGroup) NodeGroup);
}
public void RemoveAlwaysReachable(PipeNode pipeNode)
@@ -47,7 +47,7 @@ namespace Content.Server.NodeContainer.Nodes
_alwaysReachable.Remove(pipeNode);
if (NodeGroup != null)
EntitySystem.Get<NodeGroupSystem>().QueueRemakeGroup((BaseNodeGroup) NodeGroup);
IoCManager.Resolve<IEntityManager>().System<NodeGroupSystem>().QueueRemakeGroup((BaseNodeGroup) NodeGroup);
}
/// <summary>
@@ -62,7 +62,7 @@ namespace Content.Server.NodeContainer.Nodes
_connectionsEnabled = value;
if (NodeGroup != null)
EntitySystem.Get<NodeGroupSystem>().QueueRemakeGroup((BaseNodeGroup) NodeGroup);
IoCManager.Resolve<IEntityManager>().System<NodeGroupSystem>().QueueRemakeGroup((BaseNodeGroup) NodeGroup);
}
}

View File

@@ -8,13 +8,15 @@ namespace Content.Server.Power.Commands
[AdminCommand(AdminFlags.Debug)]
public sealed class PowerStatCommand : IConsoleCommand
{
[Dependency] private readonly IEntityManager _e = default!;
public string Command => "powerstat";
public string Description => "Shows statistics for pow3r";
public string Help => "Usage: powerstat";
public void Execute(IConsoleShell shell, string argStr, string[] args)
{
var stats = EntitySystem.Get<PowerNetSystem>().GetStatistics();
var stats = _e.System<PowerNetSystem>().GetStatistics();
shell.WriteLine($"networks: {stats.CountNetworks}");
shell.WriteLine($"loads: {stats.CountLoads}");

View File

@@ -19,7 +19,7 @@ namespace Content.Server.Sandbox.Commands
public void Execute(IConsoleShell shell, string argStr, string[] args)
{
var sandboxManager = EntitySystem.Get<SandboxSystem>();
var sandboxManager = _entManager.System<SandboxSystem>();
var adminManager = IoCManager.Resolve<IAdminManager>();
if (shell.IsClient && (!sandboxManager.IsSandboxEnabled && !adminManager.HasAdminFlag(shell.Player!, AdminFlags.Mapping)))
{

View File

@@ -6,6 +6,9 @@ namespace Content.Shared.Chemistry.Reaction
{
public interface ITileReaction
{
FixedPoint2 TileReact(TileRef tile, ReagentPrototype reagent, FixedPoint2 reactVolume);
FixedPoint2 TileReact(TileRef tile,
ReagentPrototype reagent,
FixedPoint2 reactVolume,
IEntityManager entityManager);
}
}

View File

@@ -143,7 +143,7 @@ namespace Content.Shared.Chemistry.Reagent
[DataField]
public SoundSpecifier FootstepSound = new SoundCollectionSpecifier("FootstepWater", AudioParams.Default.WithVolume(6));
public FixedPoint2 ReactionTile(TileRef tile, FixedPoint2 reactVolume)
public FixedPoint2 ReactionTile(TileRef tile, FixedPoint2 reactVolume, IEntityManager entityManager)
{
var removed = FixedPoint2.Zero;
@@ -152,7 +152,7 @@ namespace Content.Shared.Chemistry.Reagent
foreach (var reaction in TileReactions)
{
removed += reaction.TileReact(tile, this, reactVolume - removed);
removed += reaction.TileReact(tile, this, reactVolume - removed, entityManager);
if (removed > reactVolume)
throw new Exception("Removed more than we have!");