Ejemplo n.º 1
0
 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++;
     }
 }
Ejemplo n.º 2
0
    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;
    }
Ejemplo n.º 3
0
    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);
    }
Ejemplo n.º 4
0
    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);
    }
Ejemplo n.º 5
0
    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();
        }
    }