using Content.Shared.Chemistry.Reagent;
using Content.Shared.FixedPoint;
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Dictionary;
namespace Content.Shared.Kitchen
{
///
/// A recipe for space microwaves.
///
[Prototype("microwaveMealRecipe")]
public sealed class FoodRecipePrototype : IPrototype
{
[ViewVariables]
[IdDataFieldAttribute]
public string ID { get; } = default!;
[DataField("name")]
private string _name = string.Empty;
[DataField("reagents", customTypeSerializer:typeof(PrototypeIdDictionarySerializer))]
private readonly Dictionary _ingsReagents = new();
[DataField("solids", customTypeSerializer: typeof(PrototypeIdDictionarySerializer))]
private readonly Dictionary _ingsSolids = new ();
[DataField("result", customTypeSerializer: typeof(PrototypeIdSerializer))]
public string Result { get; } = string.Empty;
[DataField("time")]
public uint CookTime { get; } = 5;
public string Name => Loc.GetString(_name);
public IReadOnlyDictionary IngredientsReagents => _ingsReagents;
public IReadOnlyDictionary IngredientsSolids => _ingsSolids;
}
}