using Robust.Shared.Audio;
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
namespace Content.Server.Research.TechnologyDisk.Components;
[RegisterComponent]
public sealed partial class DiskConsoleComponent : Component
{
///
/// How much it costs to print a disk
///
[DataField("pricePerDisk"), ViewVariables(VVAccess.ReadWrite)]
public int PricePerDisk = 1000;
///
/// Frontier: How much it costs to print a rare disk
///
[DataField("pricePerRareDisk"), ViewVariables(VVAccess.ReadWrite)]
public int PricePerRareDisk = 1300;
///
/// The prototype of what's being printed
///
[DataField("diskPrototype", customTypeSerializer: typeof(PrototypeIdSerializer)), ViewVariables(VVAccess.ReadWrite)]
public string DiskPrototype = "TechnologyDisk";
[DataField("diskPrototypeRare", customTypeSerializer: typeof(PrototypeIdSerializer)), ViewVariables(VVAccess.ReadWrite)] // Frontier
public string DiskPrototypeRare = "TechnologyDiskRare"; // Frontier
[DataField, ViewVariables(VVAccess.ReadWrite)] // Frontier
public bool DiskRare = false; // Frontier
///
/// How long it takes to print
///
[DataField("printDuration"), ViewVariables(VVAccess.ReadWrite)]
public TimeSpan PrintDuration = TimeSpan.FromSeconds(1);
///
/// The sound made when printing occurs
///
[DataField("printSound")]
public SoundSpecifier PrintSound = new SoundPathSpecifier("/Audio/Machines/printer.ogg");
}