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(); }
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(); } }
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++; } }
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; } } }