Exemple #1
0
    public bool addItem(EquippableItem item, out EquippableItem previousItem)
    {
        bool checkEmptySlot = false;
        int  index          = 0;

        for (int i = 0; i < equipmentSlots.Length; i++)
        {
            if (equipmentSlots[i].EquipmentType == item.EquipmentType)
            {
                if (equipmentSlots[i].Item == null)
                {
                    checkEmptySlot = true;
                    index          = i;
                    break;
                }
                else
                {
                    index = i;
                }
            }
        }
        if (checkEmptySlot)
        {
            //빈 슬롯이 있는 경우
            equipmentSlots[index].Item        = item;
            equipmentSlots[index].Item.charID = jsonLoadItem.charID;
            previousItem = null;
            statModifier.calculateItemStat(item, true);
            statModifier.refreshItemStatUI();
            return(true);
        }
        else
        {
            //빈 슬롯이 없는 경우 마지막 슬롯의 전 아이템과 대체하라
            previousItem = (EquippableItem)equipmentSlots[index].Item;
            equipmentSlots[index].Item        = item;
            equipmentSlots[index].Item.charID = jsonLoadItem.charID;
            statModifier.calculateItemStat(item, true);
            statModifier.calculateItemStat(previousItem, false);
            statModifier.refreshItemStatUI();
            return(true);
        }
        previousItem = null;
        return(false);
    }