namespace Content.Shared.Throwing { /// /// Base class for all throw events. /// public abstract class ThrowEvent : HandledEntityEventArgs { public readonly EntityUid Thrown; public readonly EntityUid Target; public ThrownItemComponent Component; public ThrowEvent(EntityUid thrown, EntityUid target, ThrownItemComponent component) { Thrown = thrown; Target = target; Component = component; } } /// /// Raised directed on the target entity being hit by the thrown entity. /// public sealed class ThrowHitByEvent : ThrowEvent { public ThrowHitByEvent(EntityUid thrown, EntityUid target, ThrownItemComponent component) : base(thrown, target, component) { } } /// /// Raised directed on the thrown entity that hits another. /// public sealed class ThrowDoHitEvent : ThrowEvent { public ThrowDoHitEvent(EntityUid thrown, EntityUid target, ThrownItemComponent component) : base(thrown, target, component) { } } }