diff --git a/Content.Server/Security/Components/DeployableBarrierComponent.cs b/Content.Server/Security/Components/DeployableBarrierComponent.cs index 09753167f3..6cf5920439 100644 --- a/Content.Server/Security/Components/DeployableBarrierComponent.cs +++ b/Content.Server/Security/Components/DeployableBarrierComponent.cs @@ -1,7 +1,7 @@ -namespace Content.Server.Security +namespace Content.Server.Security.Components; + +[RegisterComponent] +public sealed class DeployableBarrierComponent : Component { - [RegisterComponent] - public sealed class DeployableBarrierComponent : Component - { - } } + diff --git a/Content.Server/Security/Systems/DeployableBarrierSystem.cs b/Content.Server/Security/Systems/DeployableBarrierSystem.cs index db8465a619..729159a8af 100644 --- a/Content.Server/Security/Systems/DeployableBarrierSystem.cs +++ b/Content.Server/Security/Systems/DeployableBarrierSystem.cs @@ -1,4 +1,7 @@ +using Content.Server.Pulling; +using Content.Server.Security.Components; using Content.Shared.Lock; +using Content.Shared.Pulling.Components; using Content.Shared.Security; using Robust.Server.GameObjects; @@ -7,6 +10,7 @@ namespace Content.Server.Security.Systems public sealed class DeployableBarrierSystem : EntitySystem { [Dependency] private readonly SharedAppearanceSystem _appearance = default!; + [Dependency] private readonly PullingSystem _pulling = default!; public override void Initialize() { @@ -17,28 +21,28 @@ namespace Content.Server.Security.Systems private void OnStartup(EntityUid uid, DeployableBarrierComponent component, ComponentStartup args) { - if (!EntityManager.TryGetComponent(component.Owner, out LockComponent? lockComponent)) + if (!TryComp(uid, out LockComponent? lockComponent)) return; - ToggleBarrierDeploy(uid, component, lockComponent.Locked); + ToggleBarrierDeploy(uid, lockComponent.Locked); } private void OnLockToggled(EntityUid uid, DeployableBarrierComponent component, ref LockToggledEvent args) { - ToggleBarrierDeploy(uid, component, args.Locked); + ToggleBarrierDeploy(uid, args.Locked); } - private void ToggleBarrierDeploy(EntityUid uid, DeployableBarrierComponent component, bool isDeployed) + private void ToggleBarrierDeploy(EntityUid uid, bool isDeployed) { - EntityManager.GetComponent(component.Owner).Anchored = isDeployed; - - if (!EntityManager.TryGetComponent(component.Owner, out AppearanceComponent? appearance)) - return; + Transform(uid).Anchored = isDeployed; var state = isDeployed ? DeployableBarrierState.Deployed : DeployableBarrierState.Idle; - _appearance.SetData(uid, DeployableBarrierVisuals.State, state, appearance); + _appearance.SetData(uid, DeployableBarrierVisuals.State, state); - if (EntityManager.TryGetComponent(component.Owner, out PointLightComponent? light)) + if (TryComp(uid, out var pullable)) + _pulling.TryStopPull(pullable); + + if (TryComp(uid, out PointLightComponent? light)) light.Enabled = isDeployed; } } diff --git a/Content.Shared/Lock/LockSystem.cs b/Content.Shared/Lock/LockSystem.cs index b8ae9fdd07..2e4bb935ad 100644 --- a/Content.Shared/Lock/LockSystem.cs +++ b/Content.Shared/Lock/LockSystem.cs @@ -128,7 +128,8 @@ public sealed class LockSystem : EntitySystem _appearanceSystem.SetData(uid, StorageVisuals.Locked, true); Dirty(lockComp); - RaiseLocalEvent(uid, new LockToggledEvent(true), true); + var ev = new LockToggledEvent(true); + RaiseLocalEvent(uid, ref ev, true); return true; } @@ -157,7 +158,8 @@ public sealed class LockSystem : EntitySystem _appearanceSystem.SetData(uid, StorageVisuals.Locked, false); Dirty(lockComp); - RaiseLocalEvent(uid, new LockToggledEvent(false), true); + var ev = new LockToggledEvent(false); + RaiseLocalEvent(uid, ref ev, true); }