]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
the boxening (#22643)
authorIlya246 <57039557+Ilya246@users.noreply.github.com>
Sun, 17 Dec 2023 09:55:40 +0000 (13:55 +0400)
committerGitHub <noreply@github.com>
Sun, 17 Dec 2023 09:55:40 +0000 (02:55 -0700)
Content.Server/CardboardBox/CardboardBoxSystem.cs

index 83445d2ae4e21ca05879c220cbe736f93818d437..b9c9427d5c8c92346b3f34ef8d297838ad54e04c 100644 (file)
@@ -1,5 +1,6 @@
 using Content.Server.Storage.Components;
 using Content.Server.Storage.EntitySystems;
+using Content.Shared.Access.Components;
 using Content.Shared.CardboardBox;
 using Content.Shared.CardboardBox.Components;
 using Content.Shared.Damage;
@@ -33,7 +34,8 @@ public sealed class CardboardBoxSystem : SharedCardboardBoxSystem
         SubscribeLocalEvent<CardboardBoxComponent, StorageAfterOpenEvent>(AfterStorageOpen);
         SubscribeLocalEvent<CardboardBoxComponent, StorageBeforeOpenEvent>(BeforeStorageOpen);
         SubscribeLocalEvent<CardboardBoxComponent, StorageAfterCloseEvent>(AfterStorageClosed);
-               SubscribeLocalEvent<CardboardBoxComponent, ActivateInWorldEvent>(OnInteracted);
+        SubscribeLocalEvent<CardboardBoxComponent, GetAdditionalAccessEvent>(OnGetAdditionalAccess);
+        SubscribeLocalEvent<CardboardBoxComponent, ActivateInWorldEvent>(OnInteracted);
         SubscribeLocalEvent<CardboardBoxComponent, InteractedNoHandEvent>(OnNoHandInteracted);
         SubscribeLocalEvent<CardboardBoxComponent, EntInsertedIntoContainerMessage>(OnEntInserted);
         SubscribeLocalEvent<CardboardBoxComponent, EntRemovedFromContainerMessage>(OnEntRemoved);
@@ -41,19 +43,19 @@ public sealed class CardboardBoxSystem : SharedCardboardBoxSystem
         SubscribeLocalEvent<CardboardBoxComponent, DamageChangedEvent>(OnDamage);
     }
 
-       private void OnInteracted(EntityUid uid, CardboardBoxComponent component, ActivateInWorldEvent args)
+    private void OnInteracted(EntityUid uid, CardboardBoxComponent component, ActivateInWorldEvent args)
     {
-               if (!TryComp<EntityStorageComponent>(uid, out var box))
+        if (!TryComp<EntityStorageComponent>(uid, out var box))
             return;
 
         args.Handled = true;
         _storage.ToggleOpen(args.User, uid, box);
 
-               if (box.Contents.Contains(args.User) && !box.Open)
-               {
-                       _mover.SetRelay(args.User, uid);
-                       component.Mover = args.User;
-               }
+        if (box.Contents.Contains(args.User) && !box.Open)
+        {
+            _mover.SetRelay(args.User, uid);
+            component.Mover = args.User;
+        }
     }
 
     private void OnNoHandInteracted(EntityUid uid, CardboardBoxComponent component, InteractedNoHandEvent args)
@@ -65,10 +67,17 @@ public sealed class CardboardBoxSystem : SharedCardboardBoxSystem
         _storage.OpenStorage(uid);
     }
 
+    private void OnGetAdditionalAccess(EntityUid uid, CardboardBoxComponent component, ref GetAdditionalAccessEvent args)
+    {
+        if (component.Mover == null)
+            return;
+        args.Entities.Add(component.Mover.Value);
+    }
+
     private void BeforeStorageOpen(EntityUid uid, CardboardBoxComponent component, ref StorageBeforeOpenEvent args)
     {
-               if (component.Quiet)
-                       return;
+        if (component.Quiet)
+            return;
 
         //Play effect & sound
         if (component.Mover != null)
@@ -115,7 +124,7 @@ public sealed class CardboardBoxSystem : SharedCardboardBoxSystem
         if (component.Mover == null)
         {
             _mover.SetRelay(args.Entity, uid);
-                       component.Mover = args.Entity;
+            component.Mover = args.Entity;
         }
     }