6
StarHorizon_Public/Content.Server/Chemistry/Components/ReagentDispenserComponent.cs
2025-12-18 02:55:17 +03:00

37 lines
1.3 KiB
C#

using Content.Shared.Whitelist;
using Content.Shared.Containers.ItemSlots;
using Content.Server.Chemistry.EntitySystems;
using Content.Shared.Chemistry;
using Robust.Shared.Audio;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
using Robust.Shared.Prototypes; // Frontier
using Content.Shared.Construction.Prototypes; // Frontier
namespace Content.Server.Chemistry.Components
{
/// <summary>
/// A machine that dispenses reagents into a solution container from containers in its storage slots.
/// </summary>
[RegisterComponent]
[Access(typeof(ReagentDispenserSystem))]
public sealed partial class ReagentDispenserComponent : Component
{
[DataField]
public ItemSlot BeakerSlot = new();
[DataField("clickSound"), ViewVariables(VVAccess.ReadWrite)]
public SoundSpecifier ClickSound = new SoundPathSpecifier("/Audio/Machines/machine_switch.ogg");
[ViewVariables(VVAccess.ReadWrite)]
public ReagentDispenserDispenseAmount DispenseAmount = ReagentDispenserDispenseAmount.U10;
// Frontier: whether or not this entity can auto-label items
[DataField]
public bool CanAutoLabel;
// Frontier: whether or not this entity is currently auto-labeling items
[ViewVariables]
public bool AutoLabel;
}
}