예제 #1
0
        private void PlayerInventoryFunction()
        {
            if (isSellingItem)
            {
                SellInventoryFunction();
                return;
            }

            currType = TYPE_INVENTORY.Player;

            PlayerInventory playerInventory = inventoryToShow as PlayerInventory;

            if (currentItemPreview.Type == ItemData.TYPE.ARMOR || currentItemPreview.Type == ItemData.TYPE.WEAPON)
            {
                Button button = Instantiate(itemButtonPrefab);
                button.transform.SetParent(actionItemPanel);
                button.transform.Find("Text").GetComponent <Text>().text = "Equip";
                button.onClick.AddListener(() =>
                {
                    if (playerInventory.EquipItem(currentItemPreview))
                    {
                        RefreshInventory();
                        RefreshPlayerInfo();
                    }
                    else
                    {
                        ChangeColor(button,Color.red);
                    }
                });
            }
            else if (currentItemPreview.Type == ItemData.TYPE.POTION ||
                     currentItemPreview.Type == ItemData.TYPE.PARCHMENT)
            {
                Button button = Instantiate(itemButtonPrefab);
                button.transform.SetParent(actionItemPanel);
                button.transform.Find("Text").GetComponent <Text>().text = "Use";
                button.onClick.AddListener(() =>
                {
                    playerInventory.UseItem(currentItemPreview);
                    RemoveButton(currentButtonPreview);
                    previewPanel.gameObject.SetActive(false);
                    RefreshPlayerInfo();
                });
            }

            if (!currentItemPreview.isQuestItem)
            {
                Button button1 = Instantiate(itemButtonPrefab);
                button1.transform.SetParent(actionItemPanel);
                button1.transform.Find("Text").GetComponent <Text>().text = "Drop";
                button1.onClick.AddListener(() =>
                {
                    playerInventory.DropItem(currentItemPreview);
                    RemoveButton(currentButtonPreview);
                    previewPanel.gameObject.SetActive(false);
                    RefreshPlayerInfo();
                });
            }
        }
예제 #2
0
        private void SellInventoryFunction()
        {
            currType = TYPE_INVENTORY.Sell;

            PlayerInventory playerInventory = inventoryToShow as PlayerInventory;
            Button          button          = Instantiate(itemButtonPrefab);

            button.transform.SetParent(actionItemPanel);
            button.transform.Find("Text").GetComponent <Text>().text = "Sell";
            button.onClick.AddListener(() =>
            {
                player.Gold += currentItemPreview.value;
                playerInventory.RemoveItem(currentItemPreview);
                previewPanel.gameObject.SetActive(false);
                RemoveButton(currentButtonPreview);
                RefreshInventory();
                RefreshPlayerInfo();
            });
        }
예제 #3
0
 private void SetCurrentType()
 {
     if (inventoryToShow is PlayerInventory)
     {
         if (isSellingItem)
         {
             currType = TYPE_INVENTORY.Sell;
         }
         else
         {
             currType = TYPE_INVENTORY.Player;
         }
     }
     else if (inventoryToShow is ShopInventory)
     {
         currType = TYPE_INVENTORY.Shop;
     }
     else if (inventoryToShow is LootInventory)
     {
         currType = TYPE_INVENTORY.Loot;
     }
 }
예제 #4
0
        private void LootInventoryFunction()
        {
            currType = TYPE_INVENTORY.Loot;

            LootInventory lootInventory = inventoryToShow as LootInventory;
            Button        button        = Instantiate(itemButtonPrefab);

            button.transform.SetParent(actionItemPanel);
            button.transform.Find("Text").GetComponent <Text>().text = "Recover";
            button.onClick.AddListener(() =>
            {
                if (lootInventory.AddItem(currentItemPreview))
                {
                    previewPanel.gameObject.SetActive(false);
                    RemoveButton(currentButtonPreview);
                    RefreshPlayerInfo();
                }
                else
                {
                    ChangeColor(button,Color.red);
                }
            });
        }
예제 #5
0
 public void ResetState()
 {
     isSellingItem = false;
     currType      = TYPE_INVENTORY.None;
 }