Files
tbd-station-14/Content.Shared/Paper/StampComponent.cs

53 lines
1.6 KiB
C#

using Robust.Shared.Serialization;
using Robust.Shared.Audio;
namespace Content.Shared.Paper;
/// <summary>
/// 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.
/// </summary>
[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
{
/// <summary>
/// The loc string name that will be stamped to the piece of paper on examine.
/// </summary>
[DataField("stampedName")]
public string StampedName { get; set; } = "stamp-component-stamped-name-default";
/// <summary>
/// Tne sprite state of the stamp to display on the paper from bureacracy.rsi.
/// </summary>
[DataField("stampState")]
public string StampState { get; set; } = "paper_stamp-generic";
/// <summary>
/// The color of the ink used by the stamp in UIs
/// </summary>
[DataField("stampedColor")]
public Color StampedColor = Color.FromHex("#BB3232"); // StyleNano.DangerousRedFore
[DataField("sound")]
public SoundSpecifier Sound = new SoundPathSpecifier("/Audio/Items/Stamp/thick_stamp_sub.ogg")
{
Params = AudioParams.Default.WithVolume(-2f).WithMaxDistance(5f)
};
}