diff --git a/Content.IntegrationTests/Tests/RoundEndTest.cs b/Content.IntegrationTests/Tests/RoundEndTest.cs index d77ffb867a..1ddddf66bc 100644 --- a/Content.IntegrationTests/Tests/RoundEndTest.cs +++ b/Content.IntegrationTests/Tests/RoundEndTest.cs @@ -8,8 +8,24 @@ using Robust.Shared.GameObjects; namespace Content.IntegrationTests.Tests { [TestFixture] - public sealed class RoundEndTest : IEntityEventSubscriber + public sealed class RoundEndTest { + private sealed class RoundEndTestSystem : EntitySystem + { + public int Count; + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(OnRoundEnd); + } + + private void OnRoundEnd(RoundEndSystemChangedEvent ev) + { + Interlocked.Increment(ref Count); + } + } + [Test] public async Task Test() { @@ -22,13 +38,12 @@ namespace Content.IntegrationTests.Tests var server = pair.Server; - var entManager = server.ResolveDependency(); var config = server.ResolveDependency(); var sysManager = server.ResolveDependency(); var ticker = sysManager.GetEntitySystem(); var roundEndSystem = sysManager.GetEntitySystem(); - - var eventCount = 0; + var sys = server.System(); + sys.Count = 0; await server.WaitAssertion(() => { @@ -43,11 +58,6 @@ namespace Content.IntegrationTests.Tests await server.WaitAssertion(() => { - var bus = entManager.EventBus; - bus.SubscribeEvent(EventSource.Local, this, _ => - { - Interlocked.Increment(ref eventCount); - }); // Press the shuttle call button roundEndSystem.RequestRoundEnd(); @@ -118,8 +128,8 @@ namespace Content.IntegrationTests.Tests async Task WaitForEvent() { var timeout = Task.Delay(TimeSpan.FromSeconds(10)); - var currentCount = Thread.VolatileRead(ref eventCount); - while (currentCount == Thread.VolatileRead(ref eventCount) && !timeout.IsCompleted) + var currentCount = Thread.VolatileRead(ref sys.Count); + while (currentCount == Thread.VolatileRead(ref sys.Count) && !timeout.IsCompleted) { await pair.RunTicksSync(5); } diff --git a/Content.Server/Afk/AFKSystem.cs b/Content.Server/Afk/AFKSystem.cs index f634a415dc..b8cfdfe6b3 100644 --- a/Content.Server/Afk/AFKSystem.cs +++ b/Content.Server/Afk/AFKSystem.cs @@ -4,6 +4,7 @@ using Content.Shared.CCVar; using Robust.Server.Player; using Robust.Shared.Configuration; using Robust.Shared.Enums; +using Robust.Shared.Input; using Robust.Shared.Player; using Robust.Shared.Timing; @@ -30,6 +31,13 @@ public sealed class AFKSystem : EntitySystem base.Initialize(); _playerManager.PlayerStatusChanged += OnPlayerChange; _configManager.OnValueChanged(CCVars.AfkTime, SetAfkDelay, true); + + SubscribeNetworkEvent(HandleInputCmd); + } + + private void HandleInputCmd(FullInputCmdMessage msg, EntitySessionEventArgs args) + { + _afkManager.PlayerDidAction(args.SenderSession); } private void SetAfkDelay(float obj) diff --git a/Content.Server/Afk/AfkManager.cs b/Content.Server/Afk/AfkManager.cs index 52dc7715df..1f22f2046e 100644 --- a/Content.Server/Afk/AfkManager.cs +++ b/Content.Server/Afk/AfkManager.cs @@ -33,7 +33,7 @@ namespace Content.Server.Afk } [UsedImplicitly] - public sealed class AfkManager : IAfkManager, IEntityEventSubscriber + public sealed class AfkManager : IAfkManager { [Dependency] private readonly IEntityManager _entityManager = default!; [Dependency] private readonly IPlayerManager _playerManager = default!; @@ -49,11 +49,6 @@ namespace Content.Server.Afk _playerManager.PlayerStatusChanged += PlayerStatusChanged; _consoleHost.AnyCommandExecuted += ConsoleHostOnAnyCommandExecuted; - - _entityManager.EventBus.SubscribeSessionEvent( - EventSource.Network, - this, - HandleInputCmd); } public void PlayerDidAction(ICommonSession player) @@ -91,10 +86,5 @@ namespace Content.Server.Afk if (shell.Player is { } player) PlayerDidAction(player); } - - private void HandleInputCmd(FullInputCmdMessage msg, EntitySessionEventArgs args) - { - PlayerDidAction(args.SenderSession); - } } }