Example #1
0
        /// <summary>
        /// Gets the name of the output food if one exists.
        /// </summary>
        /// <param name="worldForResolve"></param>
        /// <param name="inputStacks"></param>
        /// <returns></returns>
        public string GetOutputName(IWorldAccessor worldForResolve, ItemStack[] inputStacks)
        {
            bool rotten = inputStacks.Any((stack) => stack?.Collectible.Code.Path == "rot");

            if (rotten)
            {
                return(Lang.Get("Rotten Food"));
            }


            ICookingRecipeNamingHelper namer = null;

            if (NamingRegistry.TryGetValue(Code, out namer))
            {
                return(namer.GetNameForIngredients(worldForResolve, Code, inputStacks));
            }

            return(Lang.Get("unknown"));
        }
Example #2
0
        /// <summary>
        /// Gets the name of the output food if one exists.
        /// </summary>
        /// <param name="worldForResolve"></param>
        /// <param name="inputStacks"></param>
        /// <returns></returns>
        public string GetOutputName(IWorldAccessor worldForResolve, ItemStack[] inputStacks)
        {
            /*StringBuilder name = new StringBuilder();
             * for (int i = 0; i < NameComponentOrder.Length; i++)
             * {
             *  int index = NameComponentOrder[i];
             *
             *  CookingRecipeIngredient ingred = Ingredients[index];
             *  for (int j = 0; j < inputStacks.Length; j++)
             *  {
             *      CookingRecipeStack crstack = ingred.GetMatchingStack(inputStacks[j]);
             *      if (crstack != null)
             *      {
             *          if (name.Length > 0) name.Append(" ");
             *          string namecomp = crstack.NameComponent.Replace("{stackcode}", inputStacks[j].Collectible.Code.Path);
             *          name.Append(Lang.Get(namecomp));
             *          break;
             *      }
             *  }
             *
             * }
             *
             * return name.ToString();*/

            bool rotten = inputStacks.Any((stack) => stack?.Collectible.Code.Path == "rot");

            if (rotten)
            {
                return(Lang.Get("Rotten Food"));
            }


            ICookingRecipeNamingHelper namer = null;

            if (NamingRegistry.TryGetValue(Code, out namer))
            {
                return(namer.GetNameForIngredients(worldForResolve, Code, inputStacks));
            }

            return(Lang.Get("unknown"));
        }