Bonsoir,
J'aimerais savoir comment remplir mon dictionnaire simultanément, afin d'attribuer un ingredientId à sa quantité, pour cela je suis passé par deux listes mais mon code semble largement optimisable le voici :
public static RecipeRecord GetRecipe(ushort gid) => Recipes.Find(x => x.ResultId == gid);
/// <summary>
/// Retourne les ingrédients ainsi que leurs quantités pour le craft de l'item en param.
/// </summary>
/// <param name="gid">item id</param>
/// <returns></returns>
public static Dictionary<ushort,uint> GetCraftIngredients(ushort gid)
{
Dictionary<ushort, uint> result = new Dictionary<ushort, uint>();
List<ushort> ingredient = new List<ushort>();
List<uint> quantity = new List<uint>();
RecipeRecord recipe = GetRecipe(gid);
foreach (ushort ingredientId in recipe.IngredientIds)
ingredient.Add(ingredientId);
foreach (uint stack in recipe.Quantities)
quantity.Add(stack);
for (int index = 0; index < ingredient.Count; index++)
result.Add(ingredient[index], quantity[index]);
return result;
}