public void AddItemToInventory(ItemEnums itemEnum) { if (itemEnum <= ItemEnums.Tool_Pouch_End) { int itemEnumPouchIndex = (int)itemEnum - (int)ItemEnums.Tool_Pouch_Start; mPouches[0].InventoryItems[itemEnumPouchIndex].Quantity++; } else if (itemEnum <= ItemEnums.Seed_Pouch_End) { int itemEnumPouchIndex = (int)itemEnum - (int)ItemEnums.Seed_Pouch_Start; mPouches[1].InventoryItems[itemEnumPouchIndex].Quantity++; } }
void SpawnTopObject(ItemEnums itemEnum) { GameObject instantiatedObj; HVRItemFactory.SpawnItem(itemEnum, Vector3.zero, default(Quaternion), Vector3.one, out instantiatedObj, "TopItem"); //instantiatedObj.GetComponent<Rigidbody>().useGravity = false; instantiatedObj.GetComponent <Rigidbody>().isKinematic = true; instantiatedObj.GetComponent <Collider>().isTrigger = true; instantiatedObj.transform.SetParent(mItemSackObject.transform.GetChild(0).GetChild(1).GetChild(12)); instantiatedObj.transform.localPosition = Vector3.zero; instantiatedObj.transform.localEulerAngles = new Vector3(0f, 0f, 0f); mTopObject = instantiatedObj; //mTopObject.layer = 5; }
public static GameObject GetItemPrefab(ItemEnums item) { GameObject prefab = null; for (int i = 0; i < mItemPrefabs.Count; i++) { ItemFactoryData data = mItemPrefabs[i].GetComponent <ItemFactoryData>(); if (data != null) { if (data.ItemEnum == item) { prefab = mItemPrefabs[i]; break; } } } return(prefab); }
public static bool SpawnItem(ItemEnums item, Vector3 position, Quaternion rotation, Vector3 scale, out GameObject instantiatedObj, string name = null) { bool success = false; instantiatedObj = null; GameObject itemPrefab = GetItemPrefab(item); if (DataManager.Instance) { if (itemPrefab != null) { if (item == ItemEnums.TestItem) { TestObject obj = DataManager.Instance.SpawnObject <TestObject, TestMomento>(itemPrefab, position, rotation, scale); instantiatedObj = obj.gameObject; if (obj != null) { if (name != null) { obj.name = name; } success = true; } } else if ((item >= ItemEnums.Seed_Pouch_Start) && (item <= ItemEnums.Seed_Pouch_End)) { TemporalFoodStuff obj = DataManager.Instance.SpawnObject <TemporalFoodStuff, FoodStuffMomento>(itemPrefab, position, rotation, scale); instantiatedObj = obj.gameObject; if (obj != null) { if (name != null) { obj.name = name; } success = true; } } } } itemPrefab = null; return(success); }
private void SubtractItemFromInventory(ItemEnums itemEnum) { int quantity = 0; if (itemEnum <= ItemEnums.Tool_Pouch_End) { int itemEnumPouchIndex = (int)itemEnum - (int)ItemEnums.Tool_Pouch_Start; mPouches[0].InventoryItems[itemEnumPouchIndex].Quantity--; quantity = mPouches[0].InventoryItems[itemEnumPouchIndex].Quantity; } else if (itemEnum <= ItemEnums.Seed_Pouch_End) { int itemEnumPouchIndex = (int)itemEnum - (int)ItemEnums.Seed_Pouch_Start; mPouches[1].InventoryItems[itemEnumPouchIndex].Quantity--; quantity = mPouches[1].InventoryItems[itemEnumPouchIndex].Quantity; } if (quantity == 0) { mFocusedSlot = (mFocusedSlot == 0) ? 0 : mFocusedSlot - 1; // Checking to see if we need to decrement the page count if (mLastFilteredInventoryCount - 1 == (mCurrentPageNumbers[mCurrentPouchIndex] - 1) * 12) { mCurrentPageNumbers[mCurrentPouchIndex]--; } DestroyInventoryUI(); SpawnInventoryUI(); } else { SpawnTopObject(itemEnum); // Update this when we have a selected id mSlotContainer.GetChild(0).GetChild(0).gameObject.GetComponent <Text>().text = quantity.ToString(); } }