public void AddNewReagentToAvailable(string reagentName) { //availableReagents.Add(reagentName); CraftableReagent temp = EquipmentCrafting_Controller.instance.CraftableReagents.Find((q) => q.ItemName == reagentName); reagentList.Add(new Reagent(temp.ItemName, temp.SpritePath, 1)); }
public void UpdateProfessionInterface() { if (currentSelectedItem != null && (currentSelectedItem.MyCraftedItemType == CraftedItemType.WEAPON || currentSelectedItem.MyCraftedItemType == CraftedItemType.ARMOR)) { CraftedEquipment item2 = (currentSelectedItem as CraftedEquipment); if (item2 == null) { return; } SelectedItem.Find("Background/AttributeBG/Top/ItemValues").GetComponent <Text>().text = item2.dexterityMin + " - " + item2.dexterityMax + "\n" + item2.mightMin + " - " + item2.mightMax + "\n" + item2.intelligenceMin + " - " + item2.intelligenceMax + "\n"; if (currentSelectedItem.MyCraftedItemType == CraftedItemType.ARMOR) { SelectedItem.Find("Background/Icon").GetComponent <Image>().sprite = item2.Icon; } else if (currentSelectedItem.MyCraftedItemType == CraftedItemType.WEAPON) { SelectedItem.Find("Background/Icon").GetComponent <Image>().sprite = (currentSelectedItem as CraftedWeapon).Icon; } ClearCraftingReagents(); Transform reagentTransform = SelectedItem.Find("Background/AttributeBG/Bottom"); SelectedItem.Find("Background/Actions/CraftButton").GetComponent <Button>().interactable = true; foreach (Reagent r in item2.RequiredReagents) { GameObject cardRef = Instantiate(reagentCard, reagentTransform, false); int ownedReagent = Player_Accessor_Script.InventoryScript.GetResourceQuantity(r.ReagentName); if (ownedReagent > -1) { Text nameComp = cardRef.transform.Find("Name").GetComponent <Text>(); Text quantityComp = cardRef.transform.Find("Quantity").GetComponent <Text>(); nameComp.text = r.ReagentName; quantityComp.text = ownedReagent + "/" + r.ReagentQuantity; SelectedItem.Find("Background/Actions/CraftButton").GetComponent <Button>().interactable = true; if (ownedReagent < r.ReagentQuantity) { nameComp.color = Color.red; quantityComp.color = Color.red; SelectedItem.Find("Background/Actions/CraftButton").GetComponent <Button>().interactable = false; } } else { Text nameComp = cardRef.transform.Find("Name").GetComponent <Text>(); Text quantityComp = cardRef.transform.Find("Quantity").GetComponent <Text>(); nameComp.color = Color.red; nameComp.text = "???"; quantityComp.color = Color.red; quantityComp.text = 0 + "/" + r.ReagentQuantity; SelectedItem.Find("Background/Actions/CraftButton").GetComponent <Button>().interactable = false; } } } else if (currentSelectedItem != null && currentSelectedItem.MyCraftedItemType == CraftedItemType.REAGENT) { CraftableReagent item2 = (currentSelectedItem as CraftableReagent); if (item2 == null) { return; } SelectedItem.Find("Background/AttributeBG/Top/ItemValues").GetComponent <Text>().text = ""; SelectedItem.Find("Background/Icon").GetComponent <Image>().sprite = item2.Icon; ClearCraftingReagents(); Transform reagentTransform = SelectedItem.Find("Background/AttributeBG/Bottom"); SelectedItem.Find("Background/Actions/CraftButton").GetComponent <Button>().interactable = true; foreach (Reagent r in item2.RequiredReagents) { GameObject cardRef = Instantiate(reagentCard, reagentTransform, false); int ownedReagent = Player_Accessor_Script.InventoryScript.GetResourceQuantity(r.ReagentName); if (ownedReagent > -1) { Text nameComp = cardRef.transform.Find("Name").GetComponent <Text>(); Text quantityComp = cardRef.transform.Find("Quantity").GetComponent <Text>(); nameComp.text = r.ReagentName; quantityComp.text = ownedReagent + "/" + r.ReagentQuantity; SelectedItem.Find("Background/Actions/CraftButton").GetComponent <Button>().interactable = true; if (ownedReagent < r.ReagentQuantity) { nameComp.color = Color.red; quantityComp.color = Color.red; SelectedItem.Find("Background/Actions/CraftButton").GetComponent <Button>().interactable = false; } } else { print(r.ReagentName); Text nameComp = cardRef.transform.Find("Name").GetComponent <Text>(); Text quantityComp = cardRef.transform.Find("Quantity").GetComponent <Text>(); nameComp.color = Color.red; nameComp.text = "???"; quantityComp.color = Color.red; quantityComp.text = 0 + "/" + r.ReagentQuantity; SelectedItem.Find("Background/Actions/CraftButton").GetComponent <Button>().interactable = false; } } } }
public void SaveDesign() { int ind = craftingController.CraftableItems.IndexOf(currItem); if (displayAltPane && currItem != null) { currItem.MyCraftedItemType = CraftedItemType.REAGENT; } if (!displayAltPane || (currItem != null && (currItem.MyCraftedItemType == CraftedItemType.WEAPON || currItem.MyCraftedItemType == CraftedItemType.ARMOR))) { Transform mainItemPane = recipeCreatorTransform.Find("ContentBG/ItemTab"); if (mainItemPane.Find("Name/Name").GetComponent <InputField>().text == "") { return; } CraftedEquipment itemRecipe = null; if (currItem == null) { itemRecipe = new CraftedEquipment(); } else { if (currItem.MyCraftedItemType == CraftedItemType.WEAPON) { itemRecipe = currItem as CraftedWeapon; } else if (currItem.MyCraftedItemType == CraftedItemType.ARMOR) { itemRecipe = currItem as CraftedArmor; } } Dropdown dropList = mainItemPane.Find("ItemType").GetComponent <Dropdown>(); if (dropList.GetComponent <UI_WeaponType_Controller>().displayingWeapons) { itemRecipe.MyCraftedItemType = CraftedItemType.WEAPON; } else { itemRecipe.MyCraftedItemType = CraftedItemType.ARMOR; } if (itemRecipe.MyCraftedItemType == CraftedItemType.ARMOR) { itemRecipe = new CraftedArmor(); (itemRecipe as CraftedArmor).tarType = ArmorTypeParse(dropList.options[dropList.value].text); } else if (itemRecipe.MyCraftedItemType == CraftedItemType.WEAPON) { itemRecipe = new CraftedWeapon(); (itemRecipe as CraftedWeapon).tarType = WeaponTypeParse(dropList.options[dropList.value].text); } itemRecipe.ItemName = mainItemPane.Find("Name/Name").GetComponent <InputField>().text; itemRecipe.baseName = mainItemPane.Find("Name/Name").GetComponent <InputField>().text; itemRecipe.dexterityMin = int.Parse(mainItemPane.Find("Dexterity/Min").GetComponent <InputField>().text); itemRecipe.dexterityMax = int.Parse(mainItemPane.Find("Dexterity/Max").GetComponent <InputField>().text); itemRecipe.mightMin = int.Parse(mainItemPane.Find("Might/Min").GetComponent <InputField>().text); itemRecipe.mightMax = int.Parse(mainItemPane.Find("Might/Max").GetComponent <InputField>().text); itemRecipe.intelligenceMin = int.Parse(mainItemPane.Find("Intelligence/Min").GetComponent <InputField>().text); itemRecipe.intelligenceMax = int.Parse(mainItemPane.Find("Intelligence/Max").GetComponent <InputField>().text); itemRecipe.minLevelReq = int.Parse(mainItemPane.Find("LevelRange/Min").GetComponent <InputField>().text); itemRecipe.maxLevelReq = int.Parse(mainItemPane.Find("LevelRange/Max").GetComponent <InputField>().text); itemRecipe.minBonusHealth = int.Parse(mainItemPane.Find("Health/Min").GetComponent <InputField>().text); itemRecipe.maxBonusHealth = int.Parse(mainItemPane.Find("Health/Max").GetComponent <InputField>().text); dropList = mainItemPane.Find("ProfGroup/ProfessionType").GetComponent <Dropdown>(); itemRecipe.RequiredProfession = Player_Skills_Script.ConvertStringToSkill(dropList.options[dropList.value].text); if (itemRecipe.RequiredProfession == Skills.None) { print("Failed to find skill for: " + itemRecipe.ItemName); } itemRecipe.RequiredProfLevel = int.Parse(mainItemPane.Find("ProfGroup/RequiredLevel").GetComponent <InputField>().text); itemRecipe.RewardedExp = int.Parse(mainItemPane.Find("ProfGroup/RewardedExp").GetComponent <InputField>().text); reagentController.SaveReagentList(); itemRecipe.RequiredReagents = new List <Reagent>(); itemRecipe.RequiredReagents = reagentController.reagentList; itemRecipe.perks = activePerks; currItem = itemRecipe; } else if (displayAltPane || currItem.MyCraftedItemType == CraftedItemType.REAGENT) { Transform mainItemPane = recipeCreatorTransform.Find("ReagentBG/ItemTab"); CraftableReagent tempReagent = new CraftableReagent(); tempReagent.ItemName = mainItemPane.Find("Name/Name").GetComponent <InputField>().text; tempReagent.RewardedExp = int.Parse(mainItemPane.Find("ProfGroup/RewardedExp").GetComponent <InputField>().text); tempReagent.RequiredProfLevel = int.Parse(mainItemPane.Find("ProfGroup/RequiredLevel").GetComponent <InputField>().text); Dropdown dropList = mainItemPane.Find("ProfGroup/ProfessionType").GetComponent <Dropdown>(); tempReagent.RequiredProfession = Player_Skills_Script.ConvertStringToSkill(dropList.options[dropList.value].text); tempReagent.SpritePath = mainItemPane.Find("SpriteIcon/InputField").GetComponent <InputField>().text; reagentController.availableReagents.Add(tempReagent); tempReagent.RequiredReagents = reagentController.reagentList; currItem = tempReagent; reagentController.SaveReagentList(); } if (ind == -1) { if (currItem.MyCraftedItemType != CraftedItemType.REAGENT) { craftingController.CraftableItems.Add(currItem); } else { if (!craftingController.CraftableReagents.Contains(currItem as CraftableReagent)) { craftingController.CraftableReagents.Add(currItem as CraftableReagent); } } } else { craftingController.CraftableItems[ind] = currItem; } craftingController.SaveRecipes(); LoadDesignList(); ClearTemplate(); }
public CraftableReagent(CraftableReagent template) : base() { itemType = CraftedItemType.REAGENT; MyCraftedItemType = CraftedItemType.REAGENT; }