namespace Content.Shared.Throwing
{
public sealed class ThrowAttemptEvent : CancellableEntityEventArgs
{
public ThrowAttemptEvent(EntityUid uid, EntityUid itemUid)
{
Uid = uid;
ItemUid = itemUid;
}
public EntityUid Uid { get; }
public EntityUid ItemUid { get; }
}
///
/// Raised on the item entity that is thrown.
///
/// The user that threw this entity.
/// Whether or not the throw should be cancelled.
[ByRefEvent]
public record struct ThrowItemAttemptEvent(EntityUid User, bool Cancelled = false);
///
/// Raised when we try to pushback an entity from throwing
///
public sealed class ThrowPushbackAttemptEvent : CancellableEntityEventArgs {}
///
/// Raised on an entity that is being pushed from a thrown entity
///
[ByRefEvent]
public record struct ThrowerImpulseEvent()
{
public bool Push;
};
}