From 1cd6edb1a2d64e623fc1b2ac696db3624a5d7c55 Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Mon, 25 May 2020 01:03:44 +0200 Subject: [PATCH] Remove NoDoor and locking from the base locker component. --- .../Items/Storage/EntityStorageComponent.cs | 88 +++---------------- 1 file changed, 10 insertions(+), 78 deletions(-) diff --git a/Content.Server/GameObjects/Components/Items/Storage/EntityStorageComponent.cs b/Content.Server/GameObjects/Components/Items/Storage/EntityStorageComponent.cs index 23d6292743..355be0b0fb 100644 --- a/Content.Server/GameObjects/Components/Items/Storage/EntityStorageComponent.cs +++ b/Content.Server/GameObjects/Components/Items/Storage/EntityStorageComponent.cs @@ -32,19 +32,8 @@ namespace Content.Server.GameObjects.Components private bool IsCollidableWhenOpen; private Container Contents; private IEntityQuery entityQuery; - private bool _locked; private bool _showContents; - private bool _noDoor; - - /// - /// Determines if the storage is locked, meaning it cannot be opened. - /// - [ViewVariables(VVAccess.ReadWrite)] - public bool Locked - { - get => _locked; - set => _locked = value; - } + private bool _open; /// /// Determines if the container contents should be drawn when the container is closed. @@ -60,17 +49,6 @@ namespace Content.Server.GameObjects.Components } } - /// - /// Disables door control, and synchronizes the door with the lock. This is used for - /// attaching entities to the container without having a toggleable door. - /// - [ViewVariables(VVAccess.ReadWrite)] - public bool NoDoor - { - get => _noDoor; - set => _noDoor = value; - } - /// public override void Initialize() { @@ -80,9 +58,6 @@ namespace Content.Server.GameObjects.Components Contents.ShowContents = _showContents; - if (_noDoor && !_locked) - Open = true; - if (Owner.TryGetComponent(out var placeableSurfaceComponent)) { placeableSurfaceComponent.IsPlaceable = Open; @@ -96,20 +71,20 @@ namespace Content.Server.GameObjects.Components serializer.DataField(ref StorageCapacityMax, "Capacity", 30); serializer.DataField(ref IsCollidableWhenOpen, "IsCollidableWhenOpen", false); - serializer.DataField(ref _locked, "locked", false); serializer.DataField(ref _showContents, "showContents", false); - serializer.DataField(ref _noDoor, "noDoor", false); + serializer.DataField(ref _open, "open", false); } [ViewVariables(VVAccess.ReadWrite)] - public bool Open { get; private set; } - - void IActivate.Activate(ActivateEventArgs eventArgs) + public bool Open { - if(_noDoor) - ToggleLock(); - else - ToggleOpen(); + get => _open; + private set => _open = value; + } + + public virtual void Activate(ActivateEventArgs eventArgs) + { + ToggleOpen(); } private void ToggleOpen() @@ -124,22 +99,6 @@ namespace Content.Server.GameObjects.Components } } - private void ToggleLock() - { - _locked = !_locked; - - if(_noDoor) - { - if(_locked) - CloseStorage(); - else - OpenStorage(); - } - - if (Owner.TryGetComponent(out SoundComponent soundComponent)) - soundComponent.Play(_locked ? "/Audio/machines/lockenable.ogg" : "/Audio/machines/lockreset.ogg"); - } - private void CloseStorage() { Open = false; @@ -175,9 +134,6 @@ namespace Content.Server.GameObjects.Components private void OpenStorage() { - if (_locked) - return; - Open = true; EmptyContents(); ModifyComponents(); @@ -323,35 +279,11 @@ namespace Content.Server.GameObjects.Components return Contents.CanInsert(entity); } - /// - /// Adds a verb that toggles the lock of the storage. - /// - [Verb] - private sealed class LockToggleVerb : Verb - { - protected override void GetData(IEntity user, EntityStorageComponent component, VerbData data) - { - data.Text = component._locked ? "Unlock" : "Lock"; - } - - /// - protected override void Activate(IEntity user, EntityStorageComponent component) - { - component.ToggleLock(); - } - } - [Verb] private sealed class OpenToggleVerb : Verb { protected override void GetData(IEntity user, EntityStorageComponent component, VerbData data) { - if (component.NoDoor) - { - data.Visibility = VerbVisibility.Invisible; - return; - } - data.Text = component.Open ? "Close" : "Open"; }