using Robust.Shared.Serialization;
using Robust.Shared.Audio;
namespace Content.Shared.Paper;
///
/// Set of required information to draw a stamp in UIs, where
/// representing the state of the stamp at the point in time
/// when it was applied to a paper. These fields mirror the
/// equivalent in the component.
///
[DataDefinition, Serializable, NetSerializable]
public partial struct StampDisplayInfo
{
StampDisplayInfo(string s)
{
StampedName = s;
}
[DataField("stampedName")]
public string StampedName;
[DataField("stampedColor")]
public Color StampedColor;
};
[RegisterComponent]
public sealed partial class StampComponent : Component
{
///
/// The loc string name that will be stamped to the piece of paper on examine.
///
[DataField("stampedName")]
public string StampedName { get; set; } = "stamp-component-stamped-name-default";
///
/// Tne sprite state of the stamp to display on the paper from paper Sprite path.
///
[DataField("stampState")]
public string StampState { get; set; } = "paper_stamp-generic";
///
/// The color of the ink used by the stamp in UIs
///
[DataField("stampedColor")]
public Color StampedColor = Color.FromHex("#BB3232"); // StyleNano.DangerousRedFore
///
/// The sound when stamp stamped
///
[DataField("sound")]
public SoundSpecifier? Sound = null;
}