]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Open slot storage keybind can now also close the UI (#27962)
authorKara <lunarautomaton6@gmail.com>
Mon, 13 May 2024 00:03:07 +0000 (17:03 -0700)
committerGitHub <noreply@github.com>
Mon, 13 May 2024 00:03:07 +0000 (20:03 -0400)
Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs

index 8ad588baab0880df04608567b1bbc94a053a363b..4f0b760345b522b4bad1ffc0903a2f11e836ccf6 100644 (file)
@@ -1433,15 +1433,15 @@ public abstract class SharedStorageSystem : EntitySystem
 
     private void HandleOpenBackpack(ICommonSession? session)
     {
-        HandleOpenSlotUI(session, "back");
+        HandleToggleSlotUI(session, "back");
     }
 
     private void HandleOpenBelt(ICommonSession? session)
     {
-        HandleOpenSlotUI(session, "belt");
+        HandleToggleSlotUI(session, "belt");
     }
 
-    private void HandleOpenSlotUI(ICommonSession? session, string slot)
+    private void HandleToggleSlotUI(ICommonSession? session, string slot)
     {
         if (session is not { } playerSession)
             return;
@@ -1455,7 +1455,14 @@ public abstract class SharedStorageSystem : EntitySystem
         if (!ActionBlocker.CanInteract(playerEnt, storageEnt))
             return;
 
-        OpenStorageUI(storageEnt.Value, playerEnt);
+        if (!_ui.IsUiOpen(storageEnt.Value, StorageComponent.StorageUiKey.Key, playerEnt))
+        {
+            OpenStorageUI(storageEnt.Value, playerEnt);
+        }
+        else
+        {
+            _ui.CloseUi(storageEnt.Value, StorageComponent.StorageUiKey.Key, playerEnt);
+        }
     }
 
     protected void ClearCantFillReasons()