From b11fdd5f0baa3e3a8e39c3335115fe56a53e9203 Mon Sep 17 00:00:00 2001 From: deltanedas <39013340+deltanedas@users.noreply.github.com> Date: Sat, 14 Sep 2024 00:51:51 +0000 Subject: [PATCH] network airlock AutoClose (#32124) * network airlock AutoClose * least stupid language * great language --------- Co-authored-by: deltanedas <@deltanedas:kde.org> --- Content.Server/Doors/Systems/AirlockSystem.cs | 6 ++++-- Content.Shared/Doors/Components/AirlockComponent.cs | 2 +- Content.Shared/Doors/Systems/SharedAirlockSystem.cs | 3 +++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/Content.Server/Doors/Systems/AirlockSystem.cs b/Content.Server/Doors/Systems/AirlockSystem.cs index e9f1db13ff..ca3d133bd0 100644 --- a/Content.Server/Doors/Systems/AirlockSystem.cs +++ b/Content.Server/Doors/Systems/AirlockSystem.cs @@ -35,9 +35,10 @@ public sealed class AirlockSystem : SharedAirlockSystem private void OnSignalReceived(EntityUid uid, AirlockComponent component, ref SignalReceivedEvent args) { - if (args.Port == component.AutoClosePort) + if (args.Port == component.AutoClosePort && component.AutoClose) { component.AutoClose = false; + Dirty(uid, component); } } @@ -84,10 +85,11 @@ public sealed class AirlockSystem : SharedAirlockSystem return; } - if (component.KeepOpenIfClicked) + if (component.KeepOpenIfClicked && component.AutoClose) { // Disable auto close component.AutoClose = false; + Dirty(uid, component); } } } diff --git a/Content.Shared/Doors/Components/AirlockComponent.cs b/Content.Shared/Doors/Components/AirlockComponent.cs index b2fa7574f7..6577b1942a 100644 --- a/Content.Shared/Doors/Components/AirlockComponent.cs +++ b/Content.Shared/Doors/Components/AirlockComponent.cs @@ -48,7 +48,7 @@ public sealed partial class AirlockComponent : Component /// /// Whether the airlock should auto close. This value is reset every time the airlock closes. /// - [ViewVariables(VVAccess.ReadWrite)] + [DataField, AutoNetworkedField] public bool AutoClose = true; /// diff --git a/Content.Shared/Doors/Systems/SharedAirlockSystem.cs b/Content.Shared/Doors/Systems/SharedAirlockSystem.cs index 5a6d45d9ec..c0c274207b 100644 --- a/Content.Shared/Doors/Systems/SharedAirlockSystem.cs +++ b/Content.Shared/Doors/Systems/SharedAirlockSystem.cs @@ -56,7 +56,10 @@ public abstract class SharedAirlockSystem : EntitySystem // Make sure the airlock auto closes again next time it is opened if (args.State == DoorState.Closed) + { component.AutoClose = true; + Dirty(uid, component); + } } private void OnBeforeDoorOpened(EntityUid uid, AirlockComponent component, BeforeDoorOpenedEvent args)