using Content.Shared.Popups;
using Robust.Shared.GameStates;
namespace Content.Shared.Trigger.Components.Effects;
///
/// Displays a popup on the target when triggered.
/// Supports following fluent variables:
/// $entity - displays the target entity's name
/// $user - displays the user's name
/// Will display the popup on the user when is true.
///
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
public sealed partial class PopupOnTriggerComponent : BaseXOnTriggerComponent
{
///
/// The text this popup will display to the recipient.
///
[DataField(required: true), AutoNetworkedField]
public LocId Text;
///
/// The text this popup will display to everything but the recipient.
/// If left null this will reuse .
///
[DataField, AutoNetworkedField]
public LocId? OtherText;
///
/// The size and color of the popup.
///
[DataField, AutoNetworkedField]
public PopupType PopupType = PopupType.Small;
///
/// If true, the user is the recipient of the popup.
/// If false, this entity is the recipient.
///
[DataField, AutoNetworkedField]
public bool UserIsRecipient = true;
///
/// If true, this popup will only play for the recipient and ignore prediction.
///
[DataField, AutoNetworkedField]
public bool Quiet;
///
/// Whether to use predicted popups.
///
/// If false, this will spam any client that causes this trigger.
[DataField, AutoNetworkedField]
public bool Predicted = true;
}