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