using Content.Shared.Materials;
using Content.Shared.Power.Generator;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
namespace Content.Server.Power.Generator;
///
/// Fuels a through solid materials.
///
///
///
/// Must be accompanied with a to store the actual material and handle insertion logic.
/// You should set a whitelist there for the fuel material.
///
///
/// The component itself stores a "fractional" fuel value to allow stack materials to be gradually consumed.
///
///
[RegisterComponent, Access(typeof(GeneratorSystem))]
public sealed partial class SolidFuelGeneratorAdapterComponent : Component
{
///
/// The material to accept as fuel.
///
[DataField("fuelMaterial", customTypeSerializer: typeof(PrototypeIdSerializer))]
[ViewVariables(VVAccess.ReadWrite)]
public string FuelMaterial = "Plasma";
///
/// How much material (can be fractional) is left in the generator.
///
[DataField("fractionalMaterial"), ViewVariables(VVAccess.ReadWrite)]
public float FractionalMaterial;
///
/// Value to multiply material amount by to get fuel amount.
///
[DataField("multiplier"), ViewVariables(VVAccess.ReadWrite)]
public float Multiplier;
}