示例#1
0
 public void PopAll(GameResources.PickedUpItemName ItemName)
 {
     for (int i = 0; i < HowManyDoIHave(ItemName); i++)
     {
         PopItem(ItemName);
     }
 }
示例#2
0
    Sprite findImageWithItemName(GameResources.PickedUpItemName ItemName)
    {
        //Resources.load();
        //Load Sprite From The Resources Folder and use

        string spriteName = "InventoryUIs/" + ItemName.ToString();

        //string spriteName = "InventoryUIs/PLANT";
        return(Resources.Load <Sprite>(spriteName));
    }
示例#3
0
 public void removeCurrentHoldItem()
 {
     if (myPlayer.currentHolded != null)
     {
         GameResources.PickedUpItemName itemName = myPlayer.currentHolded.getItemName();
         PopItem(myPlayer.currentHolded);
         myPlayer.DestroyHoldedItem();
         LetItemInHandByName(itemName);
     }
 }
示例#4
0
 //Pre: nothing holded in hand
 //post: hold item with given name in hand
 public int LetItemInHandByName(GameResources.PickedUpItemName itemName)
 {
     if (itemToSlotIndex.ContainsKey(itemName))
     {
         int slotIndex = itemToSlotIndex[itemName];
         WhatItemAtThisIndex(slotIndex);
         return(slotIndex);
     }
     return(-1);
 }
示例#5
0
 public int HowManyDoIHave(GameResources.PickedUpItemName item)
 {
     if (backpack.ContainsKey(item))
     {
         return(backpack[item]);
     }
     else
     {
         return(0);
     }
 }
示例#6
0
    //Show Item at index in the hand.
    public void WhatItemAtThisIndex(int index)
    {
        myPlayer = GameManagerForNetwork.Instance.LocalPlayer;

        GameResources.PickedUpItemName tmp = GameResources.PickedUpItemName.DEFAULT;
        slotIndexToItem.TryGetValue(index, out tmp);

        if (myPlayer.currentCloth != null)
        {
            if (myPlayer.currentCloth.getItemName() == tmp)
            {
                myPlayer.RemoveCloth();
                return;
            }
        }
        else if (myPlayer.currentHolded != null)
        {
            if (myPlayer.currentHolded.getItemName() == tmp)
            {
                myPlayer.HandItemBack();
                return;
            }
        }


        if (tmp != GameResources.PickedUpItemName.DEFAULT)
        {
            foreach (var el in instanceList)
            {
                el.m_State = PickedUpItems.ItemState.IN_BAG;
            }

            foreach (var el in instanceList)
            {
                if (el.getItemName() == tmp)
                {
                    //should excute on all clients
                    Debug.Log("GIVE");
                    myPlayer.HoldItemInHand(el);
                }
            }
        }
        else
        {
            myPlayer.HandItemBack();
        }
    }
示例#7
0
    // public bool AddNewItem(GameResources.PickedUpItemName newItem)
    // {
    //     int weight = 1;

    //     if (weight > this.CapacityLeft())
    //     {
    //         return false;
    //     }

    //     int tmpCount;
    //     if (backpack.TryGetValue(newItem, out tmpCount))
    //     {
    //         backpack[newItem] = tmpCount + 1;
    //         slotList[itemToSlotIndex[newItem]].updateItem(newItem, tmpCount + 1);
    //     }
    //     else
    //     {
    //         if (ItemSpaceLeft() == 0)
    //         {
    //             return false;
    //         }


    //         for (int i = 0; i < 12; i++)
    //         {
    //             if (!slotIndexToItem.ContainsKey(i))
    //             {

    //                 slotIndexToItem[i] = newItem;
    //                 itemToSlotIndex[newItem] = i;

    //                 slotList[i].updateItem(newItem, 1);

    //                 break;
    //             }
    //         }

    //         backpack[newItem] = 1;
    //     }

    //     currentWeight += weight;
    //     return true;
    // }


    public bool AddNewItem(PickedUpItems newItem)
    {
        GameResources.PickedUpItemName itemName = newItem.getItemName();
        int weight = 1;

        if (weight > this.CapacityLeft())
        {
            return(false);
        }

        int tmpCount;

        if (backpack.TryGetValue(itemName, out tmpCount))
        {
            backpack[itemName] = tmpCount + 1;
            slotList[itemToSlotIndex[itemName]].updateItem(itemName, tmpCount + 1);
        }
        else
        {
            if (ItemSpaceLeft() == 0)
            {
                return(false);
            }

            for (int i = 0; i < 12; i++)
            {
                if (!slotIndexToItem.ContainsKey(i))
                {
                    slotIndexToItem[i]        = itemName;
                    itemToSlotIndex[itemName] = i;

                    slotList[i].updateItem(itemName, 1);

                    break;
                }
            }

            backpack[itemName] = 1;
        }

        instanceList.Add(newItem);

        currentWeight += weight;
        return(true);
    }
示例#8
0
    public bool PopItem(PickedUpItems newItem)
    {
        GameResources.PickedUpItemName itemName = newItem.getItemName();
        int weight = 1;

        Debug.Log("POP " + itemName);

        int tmpCount;

        instanceList.Remove(newItem);

        if (backpack.TryGetValue(itemName, out tmpCount))
        {
            int index = itemToSlotIndex[itemName];

            if (tmpCount - 1 > 0)
            {
                backpack[itemName] = tmpCount - 1;

                slotList[index].updateItem(itemName, tmpCount - 1);
            }
            else
            {
                slotList[index].updateItem(GameResources.PickedUpItemName.DEFAULT, 0);

                backpack.Remove(itemName);
                slotIndexToItem.Remove(index);
                itemToSlotIndex.Remove(itemName);
                myPlayer = GameManagerForNetwork.Instance.LocalPlayer;
                if (myPlayer.currentHolded == newItem)
                {
                    myPlayer.DestroyHoldedItem();
                }
            }
        }
        else
        {
            return(false);
        }
        currentWeight -= weight;
        return(true);
    }
示例#9
0
    public bool PopItem(GameResources.PickedUpItemName ItemName)
    {
        PickedUpItems thisItem = null;

        foreach (PickedUpItems item in instanceList)
        {
            if (item.getItemName() == ItemName)
            {
                thisItem = item;
            }
        }
        if (thisItem == null)
        {
            Debug.LogError("Didn't find item in instance list");
            return(false);
        }
        else
        {
            return(PopItem(thisItem));
        }
    }
示例#10
0
    public bool updateItem(GameResources.PickedUpItemName ItemName, int count)
    {
        if (count > 0)
        {
            ItemCountText.text = count.ToString();
        }
        else
        {
            ItemCountText.text = "";
        }
        ItemCountText.color = Color.black;
        Debug.Log("itemCount:" + count.ToString());
        if (ItemName != GameResources.PickedUpItemName.DEFAULT)
        {
            ItemUIImage.sprite = findImageWithItemName(ItemName);
        }
        else
        {
            ItemUIImage.sprite = DefultImage;
        }

        return(true);
    }
示例#11
0
 public bool DoIHave(GameResources.PickedUpItemName item)
 {
     return(backpack.ContainsKey(item));
 }