예제 #1
0
    void transferGold()
    {
        for (int i = inventory.itemList.Count - 1; i >= 0; i--)
        {
            if (inventory.itemList[i].GetComponent <DisplayItem>().goldValue > 0 && inventory.itemList[i].GetComponent <DisplayItem>().goldValue < 1000)
            {
                if (inventory.itemList[i].GetComponent <DisplayItem>().goldValue + displayInfo.goldValue > 1000)
                {
                    displayInfo.goldValue -= 1000 - inventory.itemList[i].GetComponent <DisplayItem>().goldValue;
                    inventory.itemList[i].GetComponent <DisplayItem>().goldValue = 1000;
                }
                else
                {
                    inventory.itemList[i].GetComponent <DisplayItem>().goldValue += displayInfo.goldValue;
                    displayInfo.goldValue = 0;
                    break;
                }
            }
        }

        if (displayInfo.goldValue <= 0)
        {
            Destroy(displayInfo.gameObject);
            treasure.setUnActive();
            FindObjectOfType <AudioManager>().PlaySound("Pick Up Gold");
        }
        else
        {
            if (inventory.itemList.Count < PlayerItems.maxInventorySize)
            {
                while (displayInfo.goldValue > 1000 && inventory.itemList.Count < PlayerItems.maxInventorySize)
                {
                    GameObject newGoldItem = treasure.instantiateNewGoldItem(1000);
                    inventory.itemList.Add(newGoldItem);
                    displayInfo.goldValue -= 1000;
                }

                if (inventory.itemList.Count < PlayerItems.maxInventorySize)
                {
                    inventory.itemList.Add(displayInfo.gameObject);
                    FindObjectOfType <AudioManager>().PlaySound("Pick Up Gold");
                    treasure.setUnActive();
                }
            }
        }
    }