using System; using JetBrains.Annotations; using Robust.Shared.Analyzers; using Robust.Shared.GameObjects; namespace Content.Shared.Interaction { /// /// This interface gives components behavior when they're dropped by a mob. /// [RequiresExplicitImplementation] public interface IDropped { [Obsolete("Use DroppedMessage instead")] void Dropped(DroppedEventArgs eventArgs); } public sealed class DroppedEventArgs : EventArgs { public DroppedEventArgs(EntityUid user) { User = user; } public EntityUid User { get; } } /// /// Raised when an entity is dropped /// [PublicAPI] public sealed class DroppedEvent : HandledEntityEventArgs { /// /// Entity that dropped the item. /// public EntityUid UserUid { get; } /// /// Item that was dropped. /// public EntityUid DroppedUid { get; } public DroppedEvent(EntityUid user, EntityUid dropped) { UserUid = user; DroppedUid = dropped; } } }