public bool AddItemToInventory(CubeProperties.itemIDs itemID , int number , SlotProperties slot) { if(CubeProperties.cubeProperties.itemDict[itemID].stackable) { SlotProperties temp = CheckIfIsInInvenory( itemID); if( temp != null) { int remainder = temp.UpdateNumberOfItem(number); if(remainder == 0) { slot.UpdateSlot(0,0); return true; } else { slot.UpdateSlot(itemID , remainder); return AddItemToInventory(itemID ,remainder ,slot ); } } } SlotProperties temp1 = GetNextAvailableSlot (itemID); if(temp1 != null) { temp1.UpdateSlot(itemID , number); return true; } return false; }
void Start() { slot = InventoryManager.inventoryManager.activeInventorySlots [index]; image = transform.FindChild ("ItemIcon").GetComponent<Image>(); text = transform.FindChild ("ItemNumber").GetComponent<Text>(); }
void UpdateActiveSlot() { indexOfSlot = moveToActive.index; activeSlot = InventoryManager.inventoryManager.activeInventorySlots [indexOfSlot]; activeItemID = activeSlot.itemID; if (activeItemID != 0) activeItemType = CubeProperties.cubeProperties.itemDict [activeItemID].itemType; }
public void CallCrafting(SlotProperties[] craftingInventorySlots, SlotProperties outputInventorySlots) { //pass in input string inputString = null; int output = 0; int numberOfOutput = 1; for(int i=0; i<craftingInventorySlots.Length; i++) { inputString += ((int)craftingInventorySlots[i].itemID).ToString() + " "; if (craftingInventorySlots.Length == 4) { if (i == 1) inputString += "0 "; if (i == 3) inputString += "0 0 0 0 "; } } if (!masterCrafter) { output = crafting.GetOutput (inputString); numberOfOutput = crafting.GetOutputNumber (inputString); outputInventorySlots.UpdateSlot((CubeProperties.itemIDs)output , numberOfOutput); // outputInventorySlots.itemID = (CubeProperties.itemIDs)output; // outputInventorySlots.numberOfItem = (byte)numberOfOutput; } }
public void AddOneToCrafting(SlotProperties slot) { slot.UpdateSlot (firstSwap.itemID, 1); firstSwap.UpdateNumberOfItem (-1); }
void SaveXMLButton(SlotProperties[] craftingInventorySlots, SlotProperties outputInventorySlots) { string craftingIDs = null; for(int i=0; i<craftingInventorySlots.Length; i++) { craftingIDs += ((int)craftingInventorySlots[i].itemID).ToString() + " "; if (craftingInventorySlots.Length == 4) { if (i == 1) craftingIDs += "0 "; if (i == 3) craftingIDs += "0 0 0 0 "; } } craftingIDs += "," + ((int)outputInventorySlots.itemID).ToString() + ","; craftingIDs += outputInventorySlots.numberOfItem + "," + "\n"; crafting.SaveXML (craftingIDs); }
IEnumerator ResetFirstSwap() { yield return new WaitForSeconds (10f); firstSwap = null; }
public void SwapWithFirstSlot( SlotProperties slot) { if(firstSwap != null) { if(firstSwap.itemID != slot.itemID || !firstSwap.isStackable || !slot.isStackable) { CubeProperties.itemIDs temp = firstSwap.itemID; int tempNum = firstSwap.numberOfItem; firstSwap.UpdateSlot(slot.itemID , slot.numberOfItem); slot.UpdateSlot(temp , tempNum); } else { int numberSlotsLeft = 64 - slot.numberOfItem; if(firstSwap.numberOfItem < numberSlotsLeft) { slot.UpdateNumberOfItem(firstSwap.numberOfItem); firstSwap.UpdateSlot(0,0); } else { slot.UpdateNumberOfItem(numberSlotsLeft); firstSwap.UpdateNumberOfItem(-numberSlotsLeft); } } } }
public void SetFirstSwap( SlotProperties slot) { firstSwap = slot; if(resetSlot == null) resetSlot = StartCoroutine (ResetFirstSwap ()); else { StopCoroutine(resetSlot); resetSlot= StartCoroutine (ResetFirstSwap()); } }