#nullable enable using Content.Server.GameObjects.EntitySystems; using Robust.Shared.Containers; using Robust.Shared.GameObjects; using Robust.Shared.Serialization.Manager.Attributes; namespace Content.Server.GameObjects.Components.Destructible.Thresholds.Behaviors { /// /// Drop all items from all containers /// [DataDefinition] public class EmptyAllContainersBehaviour : IThresholdBehavior { public void Execute(IEntity owner, DestructibleSystem system) { if (owner.Deleted || !owner.TryGetComponent(out var containerManager)) return; foreach (var container in containerManager.GetAllContainers()) { container.EmptyContainer(true, owner.Transform.Coordinates); } } } }