コード例 #1
0
    public void OnEquipButton()
    {
        if (GameObject.Find("Equip Button").GetComponentInChildren <Text>().text == "Buy Selected")
        {
            GameObject[] itemButtons = GameObject.FindGameObjectsWithTag("Shop Item Button");
            for (int x = 0; x < 3; x++)
            {
                if (itemButtons[x].GetComponent <Button>().interactable == false)
                {
                    EngineController engine = GameObject.Find("Game Engine").GetComponent <EngineController>();
                    int val = 0;
                    int.TryParse(itemButtons[x].gameObject.name, out val);
                    engine.shopItemBought[val] = true;
                    ShopButtonController temp = itemButtons[x].GetComponent <ShopButtonController>();
                    engine.playerGold -= temp.item.cost;
                    itemButtons[x].SetActive(false);
                    engine.AddItemToBackpack(temp.item);
                    instantiateBackpack();
                    break;
                }
            }
        }
        else
        {
            Item   selectedItem  = null;
            Item[] equippedItems = GameObject.Find("Game Engine").GetComponent <EngineController>().playerEquipment;
            foreach (GameObject b in itemButtons)
            {
                if (!b.GetComponent <Button>().interactable)
                {
                    selectedItem = b.GetComponent <ItemButtonController>().item;
                    int slotNum = 0;
                    switch (b.GetComponent <ItemButtonController>().item.slot)
                    {
                    case Item.Slot.Sword:     //slot 0
                        slotNum = 0;
                        break;

                    case Item.Slot.Head:     //slot 1
                        slotNum = 1;
                        break;

                    case Item.Slot.Chest:     //slot 2
                        slotNum = 2;
                        break;

                    case Item.Slot.Feet:     //slot 3
                        slotNum = 3;
                        break;
                    }
                    if (b.GetComponent <ItemButtonController>().getTextActive())
                    {
                        equippedItems[slotNum] = new Item(equippedItems[slotNum].slot);
                        b.GetComponent <ItemButtonController>().setTextActive(false);
                    }
                    else
                    {
                        equippedItems[slotNum] = selectedItem;
                        b.GetComponent <ItemButtonController>().setTextActive(true);
                    }
                }
            }
            if (selectedItem == null)
            {
                return;
            }
            foreach (GameObject b in itemButtons)
            {
                if (b.GetComponent <Button>().interactable&& b.GetComponent <ItemButtonController>().item.slot == selectedItem.slot)
                {
                    b.GetComponent <ItemButtonController>().setTextActive(false);
                }
            }
        }
    }