public EquipmentSaveData(EquipmentUI _equipment)
    {
        List <ItemDefensiveStatsSaveData> itemDefList = new List <ItemDefensiveStatsSaveData>();
        List <ItemOffensiveStatsSaveData> itemOffList = new List <ItemOffensiveStatsSaveData>();
        List <ItemCapacitySaveData>       itemCapList = new List <ItemCapacitySaveData>();

        foreach (EquipmentSlot slot in _equipment.slots)
        {
            Item item = slot.item;
            if (item != null)
            {
                if (item is Item_DefensiveStats)
                {
                    Item_DefensiveStats itemDef = item as Item_DefensiveStats;
                    itemDefList.Add(itemDef.ToSaveData());
                }
                else if (item is Item_OffensiveStats)
                {
                    Item_OffensiveStats itemOff = item as Item_OffensiveStats;
                    itemOffList.Add(itemOff.ToSaveData());
                }
                else if (item is Item_Skill)
                {
                    Item_Skill itemOff = item as Item_Skill;
                    itemCapList.Add(itemOff.ToSaveData());
                }
            }
        }

        itemDefensives = itemDefList.ToArray();
        itemOffensives = itemOffList.ToArray();
        itemCapacities = itemCapList.ToArray();
    }
    public InventorySaveData(Inventory _inventory)
    {
        moneyAmount   = _inventory.MoneyAmount;
        slotAvailable = _inventory.slotsAvailable;

        List <ItemDefensiveStatsSaveData> itemDefList = new List <ItemDefensiveStatsSaveData>();
        List <ItemOffensiveStatsSaveData> itemOffList = new List <ItemOffensiveStatsSaveData>();
        List <ItemCapacitySaveData>       itemCapList = new List <ItemCapacitySaveData>();

        foreach (Item item in _inventory.items)
        {
            if (item is Item_DefensiveStats)
            {
                Item_DefensiveStats itemDef = item as Item_DefensiveStats;
                itemDefList.Add(itemDef.ToSaveData());
            }
            else if (item is Item_OffensiveStats)
            {
                Item_OffensiveStats itemOff = item as Item_OffensiveStats;
                itemOffList.Add(itemOff.ToSaveData());
            }
            else if (item is Item_Skill)
            {
                Item_Skill itemOff = item as Item_Skill;
                itemCapList.Add(itemOff.ToSaveData());
            }
        }

        itemDefensives = itemDefList.ToArray();
        itemOffensives = itemOffList.ToArray();
        itemCapacities = itemCapList.ToArray();
    }
Exemple #3
0
    public void SetItemInfo(Item item, PriceType priceType)
    {
        canvasGroup.alpha = 1;

        itemName.text = item.name;

        if (item is Item_DefensiveStats)
        {
            Item_DefensiveStats _item = item as Item_DefensiveStats;

            itemType.text        = _item.statAlteration.TypeToString();
            itemStatValue.text   = _item.statAlteration.finalValue.ToString();
            itemDescription.text = "";
        }
        else if (item is Item_OffensiveStats)
        {
            Item_OffensiveStats _item = item as Item_OffensiveStats;

            itemType.text        = _item.statAlteration.TypeToString();
            itemStatValue.text   = _item.statAlteration.finalValue.ToString();
            itemDescription.text = "";
        }
        else if (item is Item_Skill)
        {
            Item_Skill _item = item as Item_Skill;

            itemType.text      = "";
            itemStatValue.text = "";

            itemDescription.text = _item.skill.GetDescription();
        }

        // Price display

        if (priceType == PriceType.Sell)
        {
            priceTypeText.text  = "Prix de vente";
            priceValueText.text = item.sellPrice.ToString();
        }
        else
        {
            priceTypeText.text  = "Prix d'achat";
            priceValueText.text = item.buyPrice.ToString();
        }
    }
Exemple #4
0
    void UpdateRarity(ref Item_Skill item)
    {
        float maxValue = 100;

        foreach (ItemRarity currentRarity in item.rarities)
        {
            currentRarity.SetRarityBounds(ref maxValue);
        }
        item.rarityIndex = 0;
        float rarityRoll = Random.Range(0, 10001) / 100f;

        foreach (ItemRarity currentRarity in item.rarities)
        {
            if (rarityRoll >= currentRarity.minValue && rarityRoll <= currentRarity.maxValue)
            {
                item.name += " (" + currentRarity.rarityName + ")";

                item.skill = Instantiate(currentRarity.skill) as Skills;
                SetItemPrices(ref item, currentRarity);
                break;
            }
            item.rarityIndex++;
        }
    }
Exemple #5
0
 public void SetItemPrices(ref Item_Skill item, ItemRarity rarity)
 {
     item.sellPrice = rarity.sellPrice;
     item.buyPrice  = rarity.buyPrice;
 }
    // ----------------------------------------------------------------------- **

    public void UnequipItem()
    {
        Item selectedItem = inventoryUI.GetSelectedItem();

        if (selectedItem == null)
        {
            // Set the skill
            if (slots[selectedSlotIndex].item is Item_Skill)
            {
                playerFight.skills[selectedSlotIndex] = null;
            }

            slots[selectedSlotIndex].item.isEquiped = false;
            inventory.AddItem(slots[selectedSlotIndex].item, inventoryUI.GetSelectedSlotIndex());
            UpdatePlayerStats(slots[selectedSlotIndex].item, false);

            slots[selectedSlotIndex].ClearSlot();

            hudManager.itemHandler.ResetIcon();
            selectedSlotIndex = -1;
        }
        else
        {
            if (slots[selectedSlotIndex].item is Item_DefensiveStats)
            {
                if (selectedItem is Item_DefensiveStats)
                {
                    int inventorySlotIndex = inventoryUI.GetSelectedSlotIndex();

                    inventory.RemoveItemAt(inventoryUI.GetSelectedItemIndex());

                    UpdatePlayerStats(slots[selectedSlotIndex].item, false);
                    UpdatePlayerStats(selectedItem, true);

                    slots[selectedSlotIndex].item.isEquiped = false;
                    selectedItem.isEquiped = true;

                    inventory.AddItem(slots[selectedSlotIndex].item, inventorySlotIndex);
                    slots[selectedSlotIndex].AddItem(selectedItem, selectedSlotIndex);

                    selectedItem.slotIndex = selectedSlotIndex;

                    hudManager.itemHandler.ResetIcon();
                    selectedSlotIndex = -1;
                }
            }
            else if (slots[selectedSlotIndex].item is Item_OffensiveStats)
            {
                if (selectedItem is Item_OffensiveStats)
                {
                    int inventorySlotIndex = inventoryUI.GetSelectedSlotIndex();

                    inventory.RemoveItemAt(inventoryUI.GetSelectedItemIndex());

                    UpdatePlayerStats(slots[selectedSlotIndex].item, false);
                    UpdatePlayerStats(selectedItem, true);

                    slots[selectedSlotIndex].item.isEquiped = false;
                    selectedItem.isEquiped = true;

                    inventory.AddItem(slots[selectedSlotIndex].item, inventorySlotIndex);
                    slots[selectedSlotIndex].AddItem(selectedItem, selectedSlotIndex);

                    selectedItem.slotIndex = selectedSlotIndex;

                    hudManager.itemHandler.ResetIcon();
                    selectedSlotIndex = -1;
                }
            }
            else if (slots[selectedSlotIndex].item is Item_Skill)
            {
                if (selectedItem is Item_Skill)
                {
                    Item_Skill capacity = selectedItem as Item_Skill;

                    int inventorySlotIndex = inventoryUI.GetSelectedSlotIndex();

                    inventory.RemoveItemAt(inventoryUI.GetSelectedItemIndex());

                    slots[selectedSlotIndex].item.isEquiped = false;
                    selectedItem.isEquiped = true;

                    inventory.AddItem(slots[selectedSlotIndex].item, inventorySlotIndex);
                    slots[selectedSlotIndex].AddItem(selectedItem, selectedSlotIndex);

                    selectedItem.slotIndex = selectedSlotIndex;

                    // Set the skill
                    playerFight.skills[selectedSlotIndex] = capacity.GetSkill;

                    hudManager.itemHandler.ResetIcon();
                    selectedSlotIndex = -1;
                }
            }
        }

        inventoryUI.DisableSelection();
    }
    // ----------------------------------------------------------------------- **

    public void TryEquipItem(Item item, int itemIndex, int inventorySlotIndex)
    {
        for (int i = 0; i < slots.Count; i++)
        {
            if (slots[i].IsHover)
            {
                if (item is Item_DefensiveStats && slots[i].type == EquipmentSlot.TypeOfSlot.Defensive)
                {
                    inventory.RemoveItemAt(itemIndex);

                    if (slots[i].item != null)
                    {
                        slots[i].item.isEquiped = false;
                        inventory.AddItem(slots[i].item, inventorySlotIndex);
                        UpdatePlayerStats(slots[i].item, false);
                    }

                    slots[i].AddItem(item, i);
                    slots[i].item.isEquiped = true;
                    slots[i].item.slotIndex = i;

                    UpdatePlayerStats(slots[i].item, true);
                    HudManager.Singleton.itemHandler.ResetIcon();
                }
                else if (item is Item_OffensiveStats && slots[i].type == EquipmentSlot.TypeOfSlot.Offensive)
                {
                    inventory.RemoveItemAt(itemIndex);

                    if (slots[i].item != null)
                    {
                        slots[i].item.isEquiped = false;
                        inventory.AddItem(slots[i].item, inventorySlotIndex);
                        UpdatePlayerStats(slots[i].item, false);
                    }

                    slots[i].AddItem(item, i);
                    slots[i].item.isEquiped = true;
                    slots[i].item.slotIndex = i;

                    UpdatePlayerStats(slots[i].item, true);
                    HudManager.Singleton.itemHandler.ResetIcon();
                }
                else if (item is Item_Skill && slots[i].type == EquipmentSlot.TypeOfSlot.Capacity)
                {
                    Item_Skill capacity = item as Item_Skill;

                    inventory.RemoveItemAt(itemIndex);

                    if (slots[i].item != null)
                    {
                        slots[i].item.isEquiped = false;
                        inventory.AddItem(slots[i].item, inventorySlotIndex);
                    }
                    // Set the skill
                    playerFight.skills[i] = capacity.GetSkill;

                    slots[i].AddItem(item, i);
                    slots[i].item.isEquiped = true;
                    slots[i].item.slotIndex = i;

                    HudManager.Singleton.itemHandler.ResetIcon();
                }

                break;
            }
        }
    }