using System; using Robust.Shared.GameObjects; using Robust.Shared.Serialization; namespace Content.Shared.GameObjects.Components.Chemistry { /// /// Shared class for injectors & syringes /// public class SharedInjectorComponent : Component { public override string Name => "Injector"; public sealed override uint? NetID => ContentNetIDs.REAGENT_INJECTOR; /// /// Component data used for net updates. Used by client for item status ui /// [Serializable, NetSerializable] protected sealed class InjectorComponentState : ComponentState { public decimal CurrentVolume { get; } public decimal TotalVolume { get; } public InjectorToggleMode CurrentMode { get; } public InjectorComponentState(decimal currentVolume, decimal totalVolume, InjectorToggleMode currentMode) : base(ContentNetIDs.REAGENT_INJECTOR) { CurrentVolume = currentVolume; TotalVolume = totalVolume; CurrentMode = currentMode; } } protected enum InjectorToggleMode { Inject, Draw } } }