void CreateNewBluePrint() { CraftingBluePrint newBluePrint = CreateBluePrint.Create(); inventoryItemList.bluePrints.Add(newBluePrint); viewIndex = inventoryItemList.bluePrints.Count; ClearReorderableList(); InitializeReorderableList(); }
public static CraftingBluePrint Create() { int num = 1; while (System.IO.File.Exists(EditorPrefs.GetString("DatabasePath") + "/BluePrints/New BluePrint" + "(" + num.ToString() + ")" + ".asset")) { num++; } CraftingBluePrint asset = ScriptableObject.CreateInstance <CraftingBluePrint>(); AssetDatabase.CreateAsset(asset, EditorPrefs.GetString("DatabasePath") + "/BluePrints/New BluePrint(" + num.ToString() + ").asset"); asset.bluePrintName = asset.name; AssetDatabase.SaveAssets(); return(asset); }
void InitializeReorderableList() { if (inventoryItemList.bluePrints != null) { if (inventoryItemList.bluePrints.Count > 0) { CraftingBluePrint obj = inventoryItemList.bluePrints[viewIndex - 1]; m_BluePrintSerializedObject = new SerializedObject(obj); BluePrintCreateReorderableList(); BluePrintSetupReoirderableListHeaderDrawer(); BluePrintSetupReorderableListElementDrawer(); BluePrintSetupReorderableListOnAddDropdownCallback(); m_BuySerializedObject = new SerializedObject(obj); BuyCreateReorderableList(); BuySetupReoirderableListHeaderDrawer(); BuySetupReorderableListElementDrawer(); BuySetupReorderableListOnAddDropdownCallback(); } } }
public BluePrintToAdd(CraftingBluePrint bluePrint, bool isMoved) { this.bluePrint = bluePrint; this.isMoved = isMoved; }
public ItemData AddItem(CraftingBluePrint craftingBluePrint) { Item newItem = Q_GameMaster.Instance.inventoryManager.itemDataBase.getItemByID(craftingBluePrint.targetItem.ID); for (int i = 0; i < items.Count; i++) { if (items[i].ID == -1) { items[i] = newItem; GameObject itemObj = Instantiate(m_CraftItem, slots[i].transform); itemObj.name = newItem.itemName; //Text nameText = itemObj.transform.Find("Name").GetComponent<Text>(); //Text priceText = itemObj.transform.Find("Price").GetComponent<Text>(); ItemData data = itemObj.GetComponent <ItemData>();//更新数据 Transform price = itemObj.transform.Find("Price"); List <Text> priceText = new List <Text>(); for (int j = 0; j < price.childCount; j++) { priceText.Add(price.GetChild(j).GetChild(0).GetComponent <Text>()); } //更新购买信息 data.moveAfterCrafting = craftingBluePrint.moveAfterCrafting; for (int j = 0; j < craftingBluePrint.craftingPrices.Count; j++) { data.realPrice += craftingBluePrint.craftingPrices[j].amount * craftingBluePrint.craftingPrices[j].currency.exchangeRate; if (j < priceText.Count) { priceText[j].text = craftingBluePrint.craftingPrices[j].amount.ToString(); } } //更新所在背包状态 data.isStorged = false; data.isOnSell = false; data.isOnCrafting = true; data.inv = this; data.m_Crafting = this; //change icon data.icon = itemObj.transform.Find("Icon").GetComponent <Image>(); if (!craftingBluePrint.icon) { data.icon.sprite = newItem.icon; } else { data.icon.sprite = craftingBluePrint.icon; } data.cd = itemObj.transform.Find("CD").GetComponent <Image>(); data.cd.gameObject.SetActive(true); data.item = newItem; data.slot = i; //加inputfield data.inputField = itemObj.transform.Find("Button").Find("InputField").GetComponent <InputField>(); //加名字 //nameText.text = data.item.itemName; //更新蓝图信息 data.m_CraftingBluePrint = craftingBluePrint; //如果是限定合成移除,则只能造一个,禁用inputfield if (craftingBluePrint.moveAfterCrafting) { data.inputField.gameObject.SetActive(false); itemObj.transform.Find("Button").Find("ButtonMin").gameObject.SetActive(false); itemObj.transform.Find("Button").Find("ButtonPlus").gameObject.SetActive(false); } cds[data.slot] = new CoolDown(data.cd, craftingBluePrint.craftingTime); return(data); } } return(null); }