Beispiel #1
0
    void UseItem()
    {
        // 选择人物
        Player player = GameObject.Find("GM").GetComponent <GlobeManager>().GetPlayer("郭靖");

        Consumable e = (Consumable)itemUI.ItemDetail;

        player.M_BattleProperty.M_CurrentHp += e.m_Add_Hp;
        player.M_BattleProperty.M_CurrentMp += e.m_Add_Mp;
        itemUI.RemoveItemAmount(1);
        UpdateText();

        if (itemUI.Amount == 0)
        {
            // 销毁道具列表物品
            DestroyImmediate(gameObject);
            // 销毁背包物品
            Knapscak knapscak = Knapscak.Instance;
            foreach (Slot slot in knapscak.slotArray)
            {
                if (slot.transform.childCount >= 1 && slot.transform.GetChild(0).GetComponent <ItemUI>().Amount == 0)
                {
                    Destroy(slot.transform.GetChild(0).gameObject);
                }
            }
        }
    }
    // Start is called before the first frame update
    void Awake()
    {
        Knapscak knapscak = Knapscak.Instance;

        content = GameObject.FindGameObjectWithTag("BattleCanvas").transform.Find("PropWindow/Viewport/Content").gameObject;

        foreach (Slot slot in knapscak.slotArray)
        {
            if (slot.transform.childCount != 0 && slot.GetItemType().Equals(ItemDetail.ItemType.Consumable))
            {
                ItemUI itemUI = slot.transform.GetChild(0).GetComponent <ItemUI>();

                Object     prop_item_P = Resources.Load("Prefabs/prop_item", typeof(GameObject));
                GameObject prop_item   = Instantiate(prop_item_P) as GameObject;
                prop_item.transform.SetParent(content.transform);
                prop_item.GetComponent <PropItemUI>().SetItemUI(itemUI);
            }
        }
    }