Make storage implant closable using the action again (#31381)
This commit is contained in:
@@ -41,23 +41,23 @@ namespace Content.Shared.Storage.EntitySystems;
|
|||||||
|
|
||||||
public abstract class SharedStorageSystem : EntitySystem
|
public abstract class SharedStorageSystem : EntitySystem
|
||||||
{
|
{
|
||||||
[Dependency] private readonly IPrototypeManager _prototype = default!;
|
[Dependency] private readonly IPrototypeManager _prototype = default!;
|
||||||
[Dependency] protected readonly IRobustRandom Random = default!;
|
[Dependency] protected readonly IRobustRandom Random = default!;
|
||||||
[Dependency] protected readonly ActionBlockerSystem ActionBlocker = default!;
|
[Dependency] protected readonly ActionBlockerSystem ActionBlocker = default!;
|
||||||
[Dependency] private readonly EntityLookupSystem _entityLookupSystem = default!;
|
[Dependency] private readonly EntityLookupSystem _entityLookupSystem = default!;
|
||||||
[Dependency] private readonly SharedAppearanceSystem _appearance = default!;
|
[Dependency] private readonly SharedAppearanceSystem _appearance = default!;
|
||||||
[Dependency] protected readonly SharedAudioSystem Audio = default!;
|
[Dependency] protected readonly SharedAudioSystem Audio = default!;
|
||||||
[Dependency] private readonly SharedContainerSystem _containerSystem = default!;
|
[Dependency] private readonly SharedContainerSystem _containerSystem = default!;
|
||||||
[Dependency] private readonly SharedDoAfterSystem _doAfterSystem = default!;
|
[Dependency] private readonly SharedDoAfterSystem _doAfterSystem = default!;
|
||||||
[Dependency] protected readonly SharedEntityStorageSystem EntityStorage = default!;
|
[Dependency] protected readonly SharedEntityStorageSystem EntityStorage = default!;
|
||||||
[Dependency] private readonly SharedInteractionSystem _interactionSystem = default!;
|
[Dependency] private readonly SharedInteractionSystem _interactionSystem = default!;
|
||||||
[Dependency] private readonly InventorySystem _inventory = default!;
|
[Dependency] private readonly InventorySystem _inventory = default!;
|
||||||
[Dependency] protected readonly SharedItemSystem ItemSystem = default!;
|
[Dependency] protected readonly SharedItemSystem ItemSystem = default!;
|
||||||
[Dependency] private readonly SharedPopupSystem _popupSystem = default!;
|
[Dependency] private readonly SharedPopupSystem _popupSystem = default!;
|
||||||
[Dependency] private readonly SharedHandsSystem _sharedHandsSystem = default!;
|
[Dependency] private readonly SharedHandsSystem _sharedHandsSystem = default!;
|
||||||
[Dependency] private readonly SharedStackSystem _stack = default!;
|
[Dependency] private readonly SharedStackSystem _stack = default!;
|
||||||
[Dependency] protected readonly SharedTransformSystem TransformSystem = default!;
|
[Dependency] protected readonly SharedTransformSystem TransformSystem = default!;
|
||||||
[Dependency] private readonly SharedUserInterfaceSystem _ui = default!;
|
[Dependency] private readonly SharedUserInterfaceSystem _ui = default!;
|
||||||
[Dependency] protected readonly UseDelaySystem UseDelay = default!;
|
[Dependency] protected readonly UseDelaySystem UseDelay = default!;
|
||||||
[Dependency] private readonly EntityWhitelistSystem _whitelistSystem = default!;
|
[Dependency] private readonly EntityWhitelistSystem _whitelistSystem = default!;
|
||||||
[Dependency] private readonly ISharedAdminLogManager _adminLog = default!;
|
[Dependency] private readonly ISharedAdminLogManager _adminLog = default!;
|
||||||
@@ -403,7 +403,13 @@ public abstract class SharedStorageSystem : EntitySystem
|
|||||||
if (args.Handled)
|
if (args.Handled)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
OpenStorageUI(uid, args.Performer, storageComp, false);
|
var uiOpen = _ui.IsUiOpen(uid, StorageComponent.StorageUiKey.Key, args.Performer);
|
||||||
|
|
||||||
|
if (uiOpen)
|
||||||
|
_ui.CloseUi(uid, StorageComponent.StorageUiKey.Key, args.Performer);
|
||||||
|
else
|
||||||
|
OpenStorageUI(uid, args.Performer, storageComp, false);
|
||||||
|
|
||||||
args.Handled = true;
|
args.Handled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1395,7 +1401,7 @@ public abstract class SharedStorageSystem : EntitySystem
|
|||||||
if (session is not { } playerSession)
|
if (session is not { } playerSession)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (playerSession.AttachedEntity is not {Valid: true} playerEnt || !Exists(playerEnt))
|
if (playerSession.AttachedEntity is not { Valid: true } playerEnt || !Exists(playerEnt))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!_inventory.TryGetSlotEntity(playerEnt, slot, out var storageEnt))
|
if (!_inventory.TryGetSlotEntity(playerEnt, slot, out var storageEnt))
|
||||||
|
|||||||
@@ -44,8 +44,8 @@
|
|||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: ActionOpenStorageImplant
|
id: ActionOpenStorageImplant
|
||||||
name: Open Storage Implant
|
name: Toggle Storage Implant
|
||||||
description: Opens the storage implant embedded under your skin
|
description: Opens or closes the storage implant embedded under your skin
|
||||||
components:
|
components:
|
||||||
- type: InstantAction
|
- type: InstantAction
|
||||||
itemIconStyle: BigAction
|
itemIconStyle: BigAction
|
||||||
@@ -54,6 +54,7 @@
|
|||||||
sprite: Clothing/Back/Backpacks/backpack.rsi
|
sprite: Clothing/Back/Backpacks/backpack.rsi
|
||||||
state: icon
|
state: icon
|
||||||
event: !type:OpenStorageImplantEvent
|
event: !type:OpenStorageImplantEvent
|
||||||
|
useDelay: 1
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: BaseSuicideAction
|
parent: BaseSuicideAction
|
||||||
|
|||||||
Reference in New Issue
Block a user