using System; using System.Collections.Generic; using Content.Shared.Prototypes.Kitchen; using Robust.Shared.IoC; using Robust.Shared.Prototypes; namespace Content.Shared.Kitchen { public class RecipeManager { #pragma warning disable 649 [Dependency] private readonly IPrototypeManager _prototypeManager; #pragma warning restore 649 public List Recipes { get; private set; } public void Initialize() { Recipes = new List(); foreach (var item in _prototypeManager.EnumeratePrototypes()) { Recipes.Add(item); } Recipes.Sort(new RecipeComparer()); } private class RecipeComparer : IComparer { int IComparer.Compare(FoodRecipePrototype x, FoodRecipePrototype y) { if (x == null || y == null) { return 0; } if (x._ingReagents.Count < y._ingReagents.Count) { return 1; } if (x._ingReagents.Count > y._ingReagents.Count) { return -1; } return 0; } } } }