using Robust.Shared.Audio; using Robust.Shared.Prototypes; using Robust.Shared.Serialization; namespace Content.Shared._DV.Tips; /// /// Server-to-client message to display a tip popup. /// [Serializable, NetSerializable] public sealed class ShowTipEvent(ProtoId tipId, SoundSpecifier? sound, bool ignoreCvar = false) : EntityEventArgs { /// /// The prototype ID of the tip to show. /// public ProtoId TipId = tipId; /// /// The sound to play when showing the tip. /// Sent separately since SoundSpecifier may not serialize well across network. /// public SoundSpecifier? Sound = sound; /// /// Whether to ignore the DisableTips CCvar on the client /// public bool IgnoreCvar = ignoreCvar; } /// /// Event sent from client to server when a tip popup is dismissed. /// [Serializable, NetSerializable] public sealed class TipDismissedEvent(ProtoId tipId, bool dontShowAgain) : EntityEventArgs { /// /// The prototype ID of the dismissed tip. /// public ProtoId TipId = tipId; /// /// Whether the player checked "Don't show again". /// public bool DontShowAgain = dontShowAgain; } /// /// Event sent from client to server to request resetting all seen tips. /// [Serializable, NetSerializable] public sealed class ResetAllSeenTipsRequest : EntityEventArgs;