private Item LoadDefensiveItem(ItemDefensiveStatsSaveData _data, ItemsDataBase _itemsDataBase) { DefensiveStatsAlteration.ModificationType statType = (DefensiveStatsAlteration.ModificationType)_data.statType; Item defItem = null; switch (statType) { case DefensiveStatsAlteration.ModificationType.HealthMax: defItem = _itemsDataBase.hpMax.FromSaveData(_data); break; case DefensiveStatsAlteration.ModificationType.HealthRegen: defItem = _itemsDataBase.hpRegeneration.FromSaveData(_data); break; case DefensiveStatsAlteration.ModificationType.StaminaMax: defItem = _itemsDataBase.staminaMax.FromSaveData(_data); break; case DefensiveStatsAlteration.ModificationType.StaminaRegen: defItem = _itemsDataBase.staminaRegeneration.FromSaveData(_data); break; case DefensiveStatsAlteration.ModificationType.Armor: defItem = _itemsDataBase.armor.FromSaveData(_data); break; default: break; } return(defItem); }
/// <summary> /// Crete an item based on the datas of a saved item. /// </summary> /// <param name="_data"></param> public Item FromSaveData(ItemDefensiveStatsSaveData _data) { Item_DefensiveStats instance; DefensiveStatsAlteration _statsAlteration; instance = Instantiate(this) as Item_DefensiveStats; instance.name = _data.name; instance.rarityStr = _data.rarity; instance.isSaved = _data.isSaved == 1; instance.isEquiped = _data.isEquiped == 1; instance.slotIndex = _data.slotIndex; _statsAlteration = new DefensiveStatsAlteration(); _statsAlteration.type = (DefensiveStatsAlteration.ModificationType)_data.statType; _statsAlteration.finalValue = _data.statsValue; instance.statAlteration = _statsAlteration; instance.sellPrice = _data.sellPrice; instance.buyPrice = _data.buyPrice; return(instance); }
/// <summary> /// Copy the current item to a saveable item. /// </summary> /// <returns></returns> public ItemDefensiveStatsSaveData ToSaveData() { ItemDefensiveStatsSaveData data; data = new ItemDefensiveStatsSaveData(); data.name = name; data.rarity = rarityStr; data.itemType = (int)type; data.isSaved = isSaved ? 1 : 0; data.isEquiped = isEquiped ? 1 : 0; data.slotIndex = slotIndex; data.statType = (int)statAlteration.type; data.statsValue = statAlteration.finalValue; data.sellPrice = sellPrice; data.buyPrice = buyPrice; return(data); }