using System; using JetBrains.Annotations; using Robust.Shared.Analyzers; using Robust.Shared.GameObjects; namespace Content.Shared.Throwing { /// /// Base class for all throw events. /// public abstract class ThrowEvent : HandledEntityEventArgs { /// /// The entity that threw . /// public EntityUid? User { get; } /// /// The entity thrown by that hit /// public EntityUid Thrown { get; } /// /// The entity hit with by /// public EntityUid Target { get; } public ThrowEvent(EntityUid? user, EntityUid thrown, EntityUid target) { User = user; Thrown = thrown; Target = target; } } /// /// Raised directed on the target entity being hit by the thrown entity. /// public class ThrowHitByEvent : ThrowEvent { public ThrowHitByEvent(EntityUid? user, EntityUid thrown, EntityUid target) : base(user, thrown, target) { } } /// /// Raised directed on the thrown entity that hits another. /// public class ThrowDoHitEvent : ThrowEvent { public ThrowDoHitEvent(EntityUid? user, EntityUid thrown, EntityUid target) : base(user, thrown, target) { } } }