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; }