Пример #1
0
    public void EquipItem(InventorySlot slot)
    {
        EquipmentDefinition_SO item_SO = (EquipmentDefinition_SO)slot.item_SO;

        foreach (var equipmentSlot in equipments_SO.inventory.slots)
        {
            foreach (var allowed in equipmentSlot.equipmentAllowed)
            {
                if (allowed == item_SO.equipmentType)
                {
                    equipments_SO.SwapSlot(slot, equipmentSlot);
                }
            }
        }
    }
    public ItemDefinition(ItemDefinition_SO item_SO)
    {
        itemID = item_SO.itemID;

        if (item_SO.itemType == ItemType.Equipment)
        {
            EquipmentDefinition_SO equipment_SO = (EquipmentDefinition_SO)item_SO;

            attributes = new ItemAttribute[equipment_SO.attributes.Length];
            for (int i = 0; i < equipment_SO.attributes.Length; i++)
            {
                attributes[i] = new ItemAttribute(equipment_SO.attributes[i].attributeType, equipment_SO.attributes[i].minValue, equipment_SO.attributes[i].maxValue);
            }
        }
    }
Пример #3
0
    public void HandleOnSlotBeforeUpdate(InventorySlot slot_)
    {
        if (slot_.item_SO == null)
        {
            return;
        }
        switch (slot_.parentUI.inventory_SO.inventoryType)
        {
        case InventoryType.Inventory:
            break;

        case InventoryType.Equipment:
            if (slot_.item_SO.itemType != ItemType.Equipment)
            {
                break;
            }
            EquipmentDefinition_SO equipDefinition_SO = (EquipmentDefinition_SO)slot_.item_SO;
            if (slot_.item_SO.itemType != ItemType.Equipment)
            {
                break;
            }
            for (int i = 0; i < slot_.item.attributes.Length; i++)
            {
                for (int j = 0; j < staticAttrbutes.Length; j++)
                {
                    if (staticAttrbutes[j].staticType == slot_.item.attributes[i].attributeType)
                    {
                        staticAttrbutes[j].value.RemoveModifier(slot_.item.attributes[i]);

                        SetDynamicAttributesMaxValue();
                        UIManager.Instance.playerStaticStatsUI.UpdateStatsUI(staticAttrbutes);
                    }
                }
            }
            break;

        default:
            break;
        }
    }