using Content.Shared.Chemistry.Reagent;
using Content.Shared.Sound;
using Content.Shared.Tools.Components;
using Robust.Shared.GameObjects;
using Robust.Shared.Serialization.Manager.Attributes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
namespace Content.Server.Tools.Components
{
[RegisterComponent]
public class WelderComponent : SharedWelderComponent
{
///
/// Solution on the entity that contains the fuel.
///
[DataField("fuelSolution")]
public string FuelSolution { get; } = "Welder";
///
/// Reagent that will be used as fuel for welding.
///
[DataField("fuelReagent", customTypeSerializer:typeof(PrototypeIdSerializer))]
public string FuelReagent { get; } = "WeldingFuel";
///
/// Fuel consumption per second, while the welder is active.
///
[DataField("fuelConsumption")]
public ReagentUnit FuelConsumption { get; } = ReagentUnit.New(0.05f);
///
/// A fuel amount to be consumed when the welder goes from being unlit to being lit.
///
[DataField("welderOnConsume")]
public ReagentUnit FuelLitCost { get; } = ReagentUnit.New(0.5f);
///
/// Sound played when the welder is turned off.
///
[DataField("welderOffSounds")]
public SoundSpecifier WelderOffSounds { get; } = new SoundCollectionSpecifier("WelderOff");
///
/// Sound played when the tool is turned on.
///
[DataField("welderOnSounds")]
public SoundSpecifier WelderOnSounds { get; } = new SoundCollectionSpecifier("WelderOn");
[DataField("welderRefill")]
public SoundSpecifier WelderRefill { get; } = new SoundPathSpecifier("/Audio/Effects/refill.ogg");
}
}