using Content.Shared.Chemistry.Components;
using Content.Shared.Chemistry.Components.SolutionManager;
using Content.Shared.Chemistry.Reagent;
using Content.Shared.FixedPoint;
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
namespace Content.Server.Power.Generator;
///
/// This is used for chemical fuel input into generators.
///
[RegisterComponent, Access(typeof(GeneratorSystem))]
public sealed partial class ChemicalFuelGeneratorAdapterComponent : Component
{
///
/// A dictionary relating a reagent to accept as fuel to a value to multiply reagent amount by to get fuel amount.
///
[DataField]
public Dictionary, float> Reagents = new();
///
/// The name of .
///
[DataField("solution")]
[ViewVariables(VVAccess.ReadWrite)]
public string SolutionName = "tank";
///
/// The solution on the to use.
///
[ViewVariables]
public Entity? Solution = null;
///
/// How much reagent (can be fractional) is left in the generator.
/// Stored in units of .
///
[DataField]
public Dictionary, float> FractionalReagents = new();
}