public void OpenInventory(ItemOther recipeItem) { if (recipeItem.itemOtherType != ItemOtherType.Recipe) { return; } if (isActive) { DestroyItemsObj(); } else { gameObject.SetActive(true); isActive = true; } this.recipeItem = recipeItem; if (playerBag == null) { playerBag = GameObject.FindWithTag("InvBag").GetComponent <BagInventory>(); } XMLStorageRecipes storageRecipes = new XMLStorageRecipes(); XmlStorageItem storagetItem = new XmlStorageItem(); currRecipe = storageRecipes.GetRecipeByRecipeId(recipeItem.RecipeId); if (resultItem == null || resultItem.id != currRecipe.CraftResultID) { resultItem = storagetItem.GetResultItemById(currRecipe.CraftResultID); } ingridients = currRecipe.Ingredients; AddResultItemInObj(resultItem); for (int i = 0; i < ingridients.Count; i++) { Item tempItem = playerBag.GetItemById(ingridients[i].id, true); ingridients[i].item = tempItem; AddItemInObj(ingridients[i], i); } nameResult.text = resultItem.name; chanceResult.text = currRecipe.Сhance + "%"; }
private RecipeCraft LoadRecipeCraft(XmlReader xmlReader) { int recipe_id = int.Parse(xmlReader.GetAttribute("recipe_id")); int result_id = int.Parse(xmlReader.GetAttribute("result_id")); int chance = int.Parse(xmlReader.GetAttribute("chance")); RecipeCraft result = new RecipeCraft(recipe_id, result_id, chance); if (xmlReader.ReadToDescendant("ingridien")) { do { int id = int.Parse(xmlReader.GetAttribute("id")); int number = int.Parse(xmlReader.GetAttribute("number")); result.AddIngridient(id, number); } while (xmlReader.ReadToNextSibling("ingridien")); } return(result); }
public void Use(ItemHandler itemHandler) { RecipeCraft recipe = new RecipeCraft(); Result result = recipe.GetIdItem(pickedItem != null ? pickedItem.IdItem : 0, itemHandler != null ? itemHandler.Handler.IdItem : 0); int new_id = result.id; if (new_id == 0) { playerAnimations.None(); } else if (new_id == -1) { playerAnimations.None(); pickedItem = null; spriteRendererPickedItem.sprite = null; } else if (new_id == -2) { playerAnimations.None(); Destroy(itemHandler.gameObject); } else if (new_id == -3) { playerAnimations.None(); pickedItem = null; spriteRendererPickedItem.sprite = null; Destroy(itemHandler.gameObject); } else if (new_id == -4) { //use sleeping bag playerVitality.AddVitality(-0.2f); playerVitality.Sleep(); } else if (new_id == -5) { //WON! Debug.Log("won"); winnerManager.Win(); } else { worldItemManager.CreateItemWithTrow(items.GetItem(new_id), transform.position, transform.localScale.x > 0 ? 1 : -1); switch (result.way) { case 1: pickedItem = null; spriteRendererPickedItem.sprite = null; break; case 2: Destroy(itemHandler.gameObject); break; case 3: pickedItem = null; spriteRendererPickedItem.sprite = null; Destroy(itemHandler.gameObject); break; default: break; } } }