namespace Content.Shared.UserInterface; /// /// This is raised BEFORE opening a UI! Do not listen and then open / do something use /// for that. /// public sealed class ActivatableUIOpenAttemptEvent : CancellableEntityEventArgs { public EntityUid User { get; } public ActivatableUIOpenAttemptEvent(EntityUid who) { User = who; } } public sealed class UserOpenActivatableUIAttemptEvent : CancellableEntityEventArgs //have to one-up the already stroke-inducing name { public EntityUid User { get; } public EntityUid Target { get; } public UserOpenActivatableUIAttemptEvent(EntityUid who, EntityUid target) { User = who; Target = target; } } public sealed class AfterActivatableUIOpenEvent : EntityEventArgs { public EntityUid User { get; } public readonly EntityUid Actor; public AfterActivatableUIOpenEvent(EntityUid who, EntityUid actor) { User = who; Actor = actor; } } /// /// This is after it's decided the user can open the UI, /// but before the UI actually opens. /// Use this if you need to prepare the UI itself /// public sealed class BeforeActivatableUIOpenEvent : EntityEventArgs { public EntityUid User { get; } public BeforeActivatableUIOpenEvent(EntityUid who) { User = who; } } public sealed class ActivatableUIPlayerChangedEvent : EntityEventArgs { }