82 lines
2.2 KiB
C#
82 lines
2.2 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;
|
|
|
|
[DataField("stampType")]
|
|
public StampType Type = StampType.RubberStamp;
|
|
|
|
[DataField("reapply")] // Frontier: allow reapplying stamps
|
|
public bool Reapply = false; // Frontier: allow reapplying stamps
|
|
};
|
|
|
|
// FRONTIER - Stamp types, put it into an enum for modularity purposes.
|
|
public enum StampType
|
|
{
|
|
RubberStamp,
|
|
Signature
|
|
}
|
|
|
|
[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>
|
|
/// The sprite state of the stamp to display on the paper from paper Sprite path.
|
|
/// </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
|
|
|
|
/// <summary>
|
|
/// The sound when stamp stamped
|
|
/// </summary>
|
|
[DataField("sound")]
|
|
public SoundSpecifier? Sound = null;
|
|
|
|
// Frontier: allow reapplying stamps, protected stamps
|
|
/// <summary>
|
|
/// Whether or not a stamp can be reapplied
|
|
/// </summary>
|
|
[DataField("reapply")]
|
|
public bool Reapply { get; set; } = false;
|
|
|
|
/// <summary>
|
|
/// When true, stamped papers are marked as protected
|
|
/// </summary>
|
|
|
|
[DataField]
|
|
public bool Protected = false;
|
|
// End Frontier
|
|
}
|