Ejemplo n.º 1
0
    public void InstantiateShop()
    {
        Item[] shopItems = GameObject.Find("Game Engine").GetComponent <EngineController>().shopItems;
        for (int x = 0; x < 3; x++)
        {
            ShopButtonController controller = shopButtons[x].GetComponent <ShopButtonController>();
            controller.buttonManager = this;
            controller.item          = shopItems[x];
            if (controller.item != null)
            {
                switch (controller.item.slot)
                {
                case Item.Slot.Sword:
                    shopButtons[x].transform.GetChild(1).GetComponent <Image>().sprite = sword;
                    break;

                case Item.Slot.Head:
                    shopButtons[x].transform.GetChild(1).GetComponent <Image>().sprite = head;
                    break;

                case Item.Slot.Chest:
                    shopButtons[x].transform.GetChild(1).GetComponent <Image>().sprite = chest;
                    break;

                case Item.Slot.Feet:
                    shopButtons[x].transform.GetChild(1).GetComponent <Image>().sprite = feet;
                    break;
                }
            }
            EngineController engine = GameObject.Find("Game Engine").GetComponent <EngineController>();
            if (engine.shopItemBought[x] == true || !GameObject.Find("Game Engine").GetComponent <EngineController>().shopUnlocked)
            {
                shopButtons[x].SetActive(false);
            }
        }
    }
Ejemplo n.º 2
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);
                }
            }
        }
    }