using Content.Shared.Inventory;
namespace Content.Shared.EntityEffects.Effects.Transform;
///
/// Deletes the entity.
///
///
public sealed partial class DeleteEntityEntityEffectSystem : EntityEffectSystem
{
[Dependency] private InventorySystem _inventory = default!;
[Dependency] private SharedTransformSystem _transform = default!;
protected override void Effect(Entity entity, ref EntityEffectEvent args)
{
if (args.Effect.DropInventory)
{
foreach (var item in _inventory.GetHandOrInventoryEntities(entity.Owner))
{
_transform.DropNextTo(item, entity.Owner);
}
}
PredictedQueueDel(entity);
}
}
///
public sealed partial class DeleteEntity : EntityEffectBase
{
///
/// Whether to drop the entity's inventory next to it before deleting it.
///
[DataField]
public bool DropInventory = true;
}