ActionBlocker CanPickup uses EntityUid exclusively

This commit is contained in:
Vera Aguilera Puerto 2021-11-09 13:43:39 +01:00
parent b82cb38bf9
commit 9921801f15
11 changed files with 17 additions and 23 deletions

View File

@ -53,7 +53,7 @@ namespace Content.Server.Access
if (args.Hands == null ||
!args.CanAccess ||
!args.CanInteract ||
!_actionBlockerSystem.CanPickup(args.User))
!_actionBlockerSystem.CanPickup(args.User.Uid))
return;
// Can we eject a privileged ID?

View File

@ -32,7 +32,7 @@ namespace Content.Server.Chemistry.EntitySystems
!args.CanAccess ||
!args.CanInteract ||
!component.HasBeaker ||
!_actionBlockerSystem.CanPickup(args.User))
!_actionBlockerSystem.CanPickup(args.User.Uid))
return;
Verb verb = new();

View File

@ -34,7 +34,7 @@ namespace Content.Server.Chemistry.EntitySystems
!args.CanAccess ||
!args.CanInteract ||
!component.HasBeaker ||
!_actionBlockerSystem.CanPickup(args.User))
!_actionBlockerSystem.CanPickup(args.User.Uid))
return;
Verb verb = new();

View File

@ -39,7 +39,7 @@ namespace Content.Server.Power.EntitySystems
!args.CanAccess ||
!args.CanInteract ||
!component.HasCell ||
!_actionBlockerSystem.CanPickup(args.User))
!_actionBlockerSystem.CanPickup(args.User.Uid))
return;
Verb verb = new();

View File

@ -31,7 +31,7 @@ namespace Content.Server.PowerCell
!args.CanInteract ||
!component.ShowVerb ||
!component.HasCell ||
!_actionBlockerSystem.CanPickup(args.User))
!_actionBlockerSystem.CanPickup(args.User.Uid))
return;
Verb verb = new();

View File

@ -71,7 +71,7 @@ namespace Content.Server.Weapon.Ranged.Barrels
!args.CanInteract ||
!component.PowerCellRemovable ||
component.PowerCell == null ||
!_actionBlockerSystem.CanPickup(args.User))
!_actionBlockerSystem.CanPickup(args.User.Uid))
return;
Verb verb = new();
@ -104,7 +104,7 @@ namespace Content.Server.Weapon.Ranged.Barrels
!args.CanAccess ||
!args.CanInteract ||
!component.HasMagazine ||
!_actionBlockerSystem.CanPickup(args.User))
!_actionBlockerSystem.CanPickup(args.User.Uid))
return;
if (component.MagNeedsOpenBolt && !component.BoltOpen)

View File

@ -75,18 +75,12 @@ namespace Content.Shared.ActionBlocker
return !ev.Cancelled;
}
public bool CanPickup(IEntity entity)
{
var ev = new PickupAttemptEvent(entity);
RaiseLocalEvent(entity.Uid, ev);
return !ev.Cancelled;
}
public bool CanPickup(EntityUid uid)
{
return CanPickup(EntityManager.GetEntity(uid));
var ev = new PickupAttemptEvent(uid);
RaiseLocalEvent(uid, ev);
return !ev.Cancelled;
}
public bool CanEmote(EntityUid uid)

View File

@ -67,7 +67,7 @@ namespace Content.Shared.Containers.ItemSlots
if (args.Hands == null ||
!args.CanAccess ||
!args.CanInteract ||
!_actionBlockerSystem.CanPickup(args.User))
!_actionBlockerSystem.CanPickup(args.User.Uid))
return;
foreach (var (slotName, slot) in component.Slots)

View File

@ -625,7 +625,7 @@ namespace Content.Shared.Hands.Components
/// <returns></returns>
protected bool PlayerCanPickup()
{
if (!IoCManager.Resolve<IEntitySystemManager>().GetEntitySystem<ActionBlockerSystem>().CanPickup(Owner))
if (!EntitySystem.Get<ActionBlockerSystem>().CanPickup(Owner.Uid))
return false;
return true;

View File

@ -4,11 +4,11 @@ namespace Content.Shared.Item
{
public class PickupAttemptEvent : CancellableEntityEventArgs
{
public PickupAttemptEvent(IEntity entity)
public PickupAttemptEvent(EntityUid uid)
{
Entity = entity;
Uid = uid;
}
public IEntity Entity { get; }
public EntityUid Uid { get; }
}
}

View File

@ -111,7 +111,7 @@ namespace Content.Shared.Item
/// </summary>
public bool CanPickup(IEntity user, bool popup = true)
{
if (!EntitySystem.Get<ActionBlockerSystem>().CanPickup(user))
if (!EntitySystem.Get<ActionBlockerSystem>().CanPickup(user.Uid))
return false;
if (user.Transform.MapID != Owner.Transform.MapID)