using Robust.Shared.GameStates; namespace Content.Shared.StatusIcon.Components; /// /// This is used for noting if an entity is able to /// have StatusIcons displayed on them and inherent icons. (debug purposes) /// [RegisterComponent, NetworkedComponent, AutoGenerateComponentState, Access(typeof(SharedStatusIconSystem))] public sealed partial class StatusIconComponent : Component { /// /// Optional bounds for where the icons are laid out. /// If null, the sprite bounds will be used. /// [AutoNetworkedField] [DataField("bounds"), ViewVariables(VVAccess.ReadWrite)] public Box2? Bounds; } /// /// Event raised directed on an entity CLIENT-SIDE ONLY /// in order to get what status icons an entity has. /// /// [ByRefEvent] public record struct GetStatusIconsEvent(List StatusIcons, bool InContainer); /// /// Event raised on the Client-side to determine whether to display a status icon on an entity. /// /// The player that will see the icons [ByRefEvent] public record struct CanDisplayStatusIconsEvent(EntityUid? User = null) { public EntityUid? User = User; public bool Cancelled = false; }