44 lines
1.7 KiB
C#
44 lines
1.7 KiB
C#
using System.Collections.Generic;
|
|
using Content.Shared.Chemistry.Reagent;
|
|
using Content.Shared.FixedPoint;
|
|
using Robust.Shared.Localization;
|
|
using Robust.Shared.Prototypes;
|
|
using Robust.Shared.Serialization.Manager.Attributes;
|
|
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
|
|
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Dictionary;
|
|
using Robust.Shared.ViewVariables;
|
|
|
|
namespace Content.Shared.Kitchen
|
|
{
|
|
/// <summary>
|
|
/// A recipe for space microwaves.
|
|
/// </summary>
|
|
[Prototype("microwaveMealRecipe")]
|
|
public class FoodRecipePrototype : IPrototype
|
|
{
|
|
[ViewVariables]
|
|
[DataField("id", required: true)]
|
|
public string ID { get; } = default!;
|
|
|
|
[DataField("name")]
|
|
private string _name = string.Empty;
|
|
|
|
[DataField("reagents", customTypeSerializer:typeof(PrototypeIdDictionarySerializer<FixedPoint2, ReagentPrototype>))]
|
|
private readonly Dictionary<string, FixedPoint2> _ingsReagents = new();
|
|
|
|
[DataField("solids", customTypeSerializer: typeof(PrototypeIdDictionarySerializer<FixedPoint2, EntityPrototype>))]
|
|
private readonly Dictionary<string, FixedPoint2> _ingsSolids = new ();
|
|
|
|
[DataField("result", customTypeSerializer: typeof(PrototypeIdSerializer<EntityPrototype>))]
|
|
public string Result { get; } = string.Empty;
|
|
|
|
[DataField("time")]
|
|
public uint CookTime { get; } = 5;
|
|
|
|
public string Name => Loc.GetString(_name);
|
|
|
|
public IReadOnlyDictionary<string, FixedPoint2> IngredientsReagents => _ingsReagents;
|
|
public IReadOnlyDictionary<string, FixedPoint2> IngredientsSolids => _ingsSolids;
|
|
}
|
|
}
|