private void ParseCrafting(IList<string> lines)
{
for (int i = 0; i < lines.Count; i++)
{
if (!lines[i].ToUpper().StartsWith(RecipeKey)) continue;
while (++i < lines.Count)
{
if (lines[i].StartsWith("[")) return;
if (String.IsNullOrEmpty(lines[i])) continue;
var data = lines[i].Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
ItemInfo info = Envir.GetItemInfo(data[0]);
if (info == null)
continue;
RecipeInfo recipe = Envir.RecipeInfoList.SingleOrDefault(x => x.MatchItem(info.Index));
if (recipe == null)
{
MessageQueue.Enqueue(string.Format("Could not find recipe: {0}, File: {1}", lines[i], FileName));
continue;
}
if (recipe.Ingredients.Count == 0)
{
MessageQueue.Enqueue(string.Format("Could not find ingredients: {0}, File: {1}", lines[i], FileName));
continue;
}
CraftGoods.Add(recipe);
}
}
}