using JetBrains.Annotations;
namespace Content.Shared.Interaction
{
public sealed class InteractHandEventArgs : EventArgs, ITargetedInteractEventArgs
{
public InteractHandEventArgs(EntityUid user, EntityUid target)
{
User = user;
Target = target;
}
public EntityUid User { get; }
public EntityUid Target { get; }
}
///
/// Raised directed on a target entity when it is interacted with by a user with an empty hand.
///
[PublicAPI]
public sealed class InteractHandEvent : HandledEntityEventArgs, ITargetedInteractEventArgs
{
///
/// Entity that triggered the interaction.
///
public EntityUid User { get; }
///
/// Entity that was interacted on.
///
public EntityUid Target { get; }
public InteractHandEvent(EntityUid user, EntityUid target)
{
User = user;
Target = target;
}
}
public sealed class InteractNoHandEvent : HandledEntityEventArgs, ITargetedInteractEventArgs
{
///
/// Entity that triggered the interaction.
///
public EntityUid User { get; }
///
/// Entity that was interacted on.
///
public EntityUid Target { get; }
public InteractNoHandEvent(EntityUid user, EntityUid target)
{
User = user;
Target = target;
}
}
///
/// Reverse of the InteractNoHandEvent - raised on what was interacted on, rather than the other way around.
///
public sealed class InteractedNoHandEvent : HandledEntityEventArgs, ITargetedInteractEventArgs
{
///
/// Entity that was interacted on
///
public EntityUid Target { get; }
///
/// Entity that triggered this interaction
///
public EntityUid User { get; }
public InteractedNoHandEvent(EntityUid target, EntityUid user)
{
Target = target;
User = user;
}
}
}