using System; using JetBrains.Annotations; using Robust.Shared.Analyzers; using Robust.Shared.GameObjects; namespace Content.Shared.Hands { /// /// This interface gives components behavior when they're held on the selected hand. /// [RequiresExplicitImplementation] public interface IHandSelected { [Obsolete("Use HandSelectedMessage instead")] void HandSelected(HandSelectedEventArgs eventArgs); } public class HandSelectedEventArgs : EventArgs { public HandSelectedEventArgs(IEntity user) { User = user; } public IEntity User { get; } } /// /// Raised when an item entity held by a hand is selected. /// [PublicAPI] public class HandSelectedEvent : HandledEntityEventArgs { /// /// Entity that owns the selected hand. /// public IEntity User { get; } /// /// Item in the hand that was selected. /// public IEntity Item { get; } public HandSelectedEvent(IEntity user, IEntity item) { User = user; Item = item; } } }