using Content.Server.GameObjects.Components.GUI; using Robust.Shared.Interfaces.GameObjects; namespace Content.Server.AI.Operators.Inventory { public class DropEntityOperator : AiOperator { private readonly IEntity _owner; private readonly IEntity _entity; public DropEntityOperator(IEntity owner, IEntity entity) { _owner = owner; _entity = entity; } /// /// Requires EquipEntityOperator to put it in the active hand first /// /// /// public override Outcome Execute(float frameTime) { if (!_owner.TryGetComponent(out HandsComponent handsComponent) || !handsComponent.TryHand(_entity, out _)) { return Outcome.Failed; } return handsComponent.Drop(_entity) ? Outcome.Success : Outcome.Failed; } } }