Files
OldThink/Content.Server/AI/Operators/Inventory/DropHandItemsOperator.cs

34 lines
952 B
C#
Raw Normal View History

2021-06-09 22:19:39 +02:00
using Content.Server.Hands.Components;
2022-03-17 20:13:31 +13:00
using Content.Shared.Hands.EntitySystems;
namespace Content.Server.AI.Operators.Inventory
{
public sealed class DropHandItemsOperator : AiOperator
{
2021-12-05 18:09:01 +01:00
private readonly EntityUid _owner;
2021-12-05 18:09:01 +01:00
public DropHandItemsOperator(EntityUid owner)
{
_owner = owner;
}
public override Outcome Execute(float frameTime)
{
2021-12-03 15:53:09 +01:00
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(_owner, out HandsComponent? handsComponent))
{
return Outcome.Failed;
}
2022-03-17 20:13:31 +13:00
var sys = IoCManager.Resolve<IEntitySystemManager>().GetEntitySystem<SharedHandsSystem>();
foreach (var hand in handsComponent.Hands.Values)
{
2022-03-17 20:13:31 +13:00
if (!hand.IsEmpty)
sys.TryDrop(_owner, hand, handsComp: handsComponent);
}
return Outcome.Success;
}
}
}