예제 #1
0
    /// <summary>
    /// 穿上
    /// </summary>
    /// <param name="item"></param>
    public void PutOn(Item item)
    {
        Item exitItem = null;

        foreach (Slot slot in slots)
        {
            EquipmentSlot equipmentSlot = (EquipmentSlot)slot;
            if (equipmentSlot.IsRightItem(item))
            {
                if (equipmentSlot.transform.childCount > 0)
                {
                    ItemUI currentItemUI = equipmentSlot.transform.GetChild(0).GetComponent <ItemUI>();
                    exitItem = currentItemUI.Item;
                    currentItemUI.SetItem(item, 1);
                }
                else
                {
                    equipmentSlot.StoreItem(item);
                }
                break;
            }
        }
        if (exitItem != null)
        {
            Knapsack.Instance.StoreItem(exitItem);
        }

        UpdatePropertyText();
    }
예제 #2
0
    /// <summary>
    /// 穿戴装备
    /// </summary>
    /// <param name="itemUI"></param>
    public void PutOn(ItemUI itemUI)
    {
        Item exitItem = null;

        foreach (Slot slot in Inventory.Instance.slotArr)
        {
            if (slot is EquipmentSlot)
            {
                EquipmentSlot equipmentSlot = (EquipmentSlot)slot;
                if (equipmentSlot.IsRightItem(itemUI.item))
                {
                    if (equipmentSlot.transform.childCount > 0)
                    {
                        exitItem = equipmentSlot.transform.GetChild(0).GetComponent <ItemUI>().item;
                    }
                    equipmentSlot.StoreItem(itemUI.item);
                    break;
                }
            }
        }
        if (exitItem != null)
        {
            Inventory.Instance.StoreItem(exitItem);
        }
    }
예제 #3
0
 /**
  * 穿戴装备功能
  * */
 public void PutOn(ItemDetail item)
 {
     foreach (Slot slot in slotArray)
     {
         EquipmentSlot equipmentSlot = (EquipmentSlot)slot;
         if (equipmentSlot.IsRightItem(item))
         {
             if (equipmentSlot.transform.childCount > 0)
             {
                 ItemUI     currentItemUI = equipmentSlot.transform.GetChild(0).GetComponent <ItemUI>();
                 ItemDetail exitItem      = currentItemUI.ItemDetail;
                 Remove((Equipment)exitItem);
                 Equip((Equipment)item);
                 currentItemUI.SetItem(item, 1);
                 Knapscak.Instance.StoreItem(exitItem);
             }
             else
             {
                 equipmentSlot.StoreItem(item);
                 Equip((Equipment)item);
             }
             break;
         }
     }
     UpdatePropertyText();
 }
예제 #4
0
    /// <summary>
    /// 穿上装备
    /// </summary>
    /// <param name="item"></param>
    public void PutOn(Item item)
    {
        Item exitItem = null; // 如果槽里已有装备了,要卸下

        foreach (Slot slot in slotList)
        {
            EquipmentSlot equipmentSlot = (EquipmentSlot)slot;
            // 找到合适的槽
            if (equipmentSlot.IsRightItem(item))
            {
                // 槽里有装备了
                if (equipmentSlot.transform.childCount > 0)
                {
                    ItemUI currentItemUI = equipmentSlot.transform.GetChild(0).GetComponent <ItemUI>();
                    exitItem = currentItemUI.Item;  // 卸下的装备
                    currentItemUI.SetItem(item, 1); // 放入新装备
                }
                // 槽里没装备,直接穿上
                else
                {
                    equipmentSlot.StoreItem(item);
                }
                break;
            }
        }
        // 将卸下的装备放入背包中
        if (exitItem != null)
        {
            Knapsack.Instance.StoreItem(exitItem);
        }
        UpdatePropertyText();
    }
예제 #5
0
    //直接穿戴功能(不需拖拽)
    public void PutOn(Item item)
    {
        Item exitItem = null;            //临时保存需要交换的物品

        foreach (Slot slot in slotArray) //遍历角色面板中的物品槽,查找合适的的物品槽
        {
            EquipmentSlot equipmentSlot = (EquipmentSlot)slot;
            if (equipmentSlot.IsRightItem(item))            //判断物品是否合适放置在该物品槽里
            {
                if (equipmentSlot.transform.childCount > 0) //判断角色面板中的物品槽合适的位置是否已经有了装备
                {
                    ItemUI currentItemUI = equipmentSlot.transform.GetChild(0).GetComponent <ItemUI>();
                    exitItem = currentItemUI.Item;
                    currentItemUI.SetItem(item, 1);
                }
                else
                {
                    equipmentSlot.StoreItem(item);
                }
                break;
            }
        }
        if (exitItem != null)
        {
            Knapscak.Instance.StoreItem(exitItem); //把角色面板上是物品替换到背包里面
        }
        UpdatePropertyText();                      //更新显示角色属性值
    }
예제 #6
0
    public void PutOn(Item item)
    {
        Item exitItem = null;

        foreach (Slot slot in slotList)
        {
            EquipmentSlot equipmentSlot = (EquipmentSlot)slot;
            if (equipmentSlot.IsRightItem(item))
            {
                if (equipmentSlot.transform.childCount > 0)
                {
                    ItemUI currentItemUI = equipmentSlot.transform.GetChild(0).GetComponent <ItemUI>();
                    exitItem = currentItemUI.Item;
                    currentItemUI.SetItem(item, 1);
                    inventoryMng.knapsackPanel.StoreItem(exitItem);
                }
                else
                {
                    equipmentSlot.StoreItem(item);
                }
                break;
            }
        }
        if (exitItem != null)
        {
            //view.knapsackPanel.StoreItem(exitItem); //TODO

            UpdatePropertyText();
        }
    }
    /// <summary>
    /// 鼠标右键,穿上装备
    /// </summary>
    /// <param name="item"></param>
    public void PutOn(Item item)
    {
        Item itemTemp = null; // 用于做交换

        // 遍历所有装备槽,找到合适的格子
        foreach (Slot slot in slotList)
        {
            EquipmentSlot equipmentSlot = slot as EquipmentSlot;
            if (equipmentSlot.IsItemMatchSlotType(item))
            {
                if (equipmentSlot.transform.childCount > 0) // 格子里已经有装备了
                {
                    ItemUI currentItemUI = equipmentSlot.transform.GetChild(0).GetComponent <ItemUI>();
                    // 记录交换前格子里的装备
                    itemTemp = currentItemUI.Item;
                    // 变更格子里的装备
                    currentItemUI.SetItem(item, 1);
                    // 换下来的装备放回到背包里
                    Knapsack.Instance.StoreItem(itemTemp);
                }
                else
                {
                    equipmentSlot.StoreItem(item);
                }
                break;
            }
        }

        UpdateProertyText();
    }
예제 #8
0
    public void PutOn(Item item)
    {
        Item exitItem = null;

        foreach (Slot slot in slotArray)
        {
            EquipmentSlot equipSlot = (EquipmentSlot)slot;
            if (equipSlot.IsRightItem(item))
            {
                if (equipSlot.transform.childCount > 0)
                {
                    exitItem = equipSlot.transform.GetChild(0).GetComponent <ItemUi>().ItemObject;
                    equipSlot.transform.GetChild(0).GetComponent <ItemUi>().SetItem(item);
                }
                else
                {
                    equipSlot.StoreItem(item);
                }
                break;
            }
        }
        if (exitItem != null)
        {
            Knapasck.Instance.StoreItem(exitItem);
        }
    }
예제 #9
0
    public void PutOn(Item item)
    {
        Item exitItem = null;

        foreach (Slot slot in slotList)
        {
            EquipmentSlot equipmentSlot = (EquipmentSlot)slot;
            if (equipmentSlot.IsRightItem(item))
            {
                if (equipmentSlot.transform.childCount > 0)
                {
                    ItemUI currentItemUI = equipmentSlot.transform.GetChild(0).GetComponent <ItemUI>();
                    exitItem = currentItemUI.Item;
                    currentItemUI.SetItem(item, 1);
                }
                else
                {
                    equipmentSlot.StoreItem(item);
                }
                break;
            }
        }
        if (exitItem != null)
        {
            Knapsack.Instance.StoreItem(exitItem);
        }
        AudioSvc.instance.PlayUIAudio(Constants.uiExtenBtn);
        UpdateSkinned();
    }