using Content.Shared.Chemistry.Reagent;
using Content.Shared.FixedPoint;
using Robust.Shared.Serialization;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List;
namespace Content.Shared.Random;
///
/// Data that specifies reagents that share the same weight and quantity for use with WeightedRandomSolution.
///
[Serializable, NetSerializable]
[DataDefinition]
public sealed class RandomFillSolution
{
///
/// Quantity of listed reagents.
///
[DataField("quantity")]
public FixedPoint2 Quantity = 0;
///
/// Random weight of listed reagents.
///
[DataField("weight")]
public float Weight = 0;
///
/// Listed reagents that the weight and quantity apply to.
///
[DataField("reagents", required: true, customTypeSerializer: typeof(PrototypeIdListSerializer))]
public List Reagents = new();
}