Beispiel #1
0
 public void RemoveEquipmentData(Equipment equipment)
 {
     if (equipDict.ContainsKey(equipment.Id))
     {
         EquipSaveData temp = equipDict[equipment.Id];
         equipDict.Remove(equipment.Id);
         equipList.Remove(temp);
     }
 }
Beispiel #2
0
 private static void LoadEquipmentAffixes(EquipSaveData equipData, Equipment equipment)
 {
     foreach (AffixSaveData affixData in equipData.prefixes)
     {
         Affix newAffix = new Affix(ResourceManager.Instance.GetAffixBase(affixData.baseId, AffixType.PREFIX), affixData.affixValues, affixData.triggerValues, affixData.isCrafted, affixData.isLocked);
         if (newAffix != null)
         {
             equipment.prefixes.Add(newAffix);
         }
     }
     foreach (AffixSaveData affixData in equipData.suffixes)
     {
         Affix newAffix = new Affix(ResourceManager.Instance.GetAffixBase(affixData.baseId, AffixType.SUFFIX), affixData.affixValues, affixData.triggerValues, affixData.isCrafted, affixData.isLocked);
         if (newAffix != null)
         {
             equipment.suffixes.Add(newAffix);
         }
     }
 }
Beispiel #3
0
    public void SaveEquipmentData(Equipment equipItem)
    {
        EquipSaveData equipData;

        if (!equipDict.ContainsKey(equipItem.Id))
        {
            equipData = new EquipSaveData
            {
                id     = equipItem.Id,
                baseId = equipItem.Base.idName,
                ilvl   = (byte)equipItem.ItemLevel
            };
            equipDict[equipItem.Id] = equipData;
            equipList.Add(equipData);
        }
        else
        {
            equipData = equipDict[equipItem.Id];
        }

        equipData.name   = equipItem.Name;
        equipData.rarity = equipItem.Rarity;
        if (equipItem.Rarity == RarityType.UNIQUE)
        {
            UniqueBase uniqueBase = equipItem.Base as UniqueBase;
            equipData.uniqueVersion = (byte)uniqueBase.uniqueVersion;
        }
        equipData.prefixes.Clear();
        foreach (Affix affix in equipItem.prefixes)
        {
            equipData.prefixes.Add(new AffixSaveData(affix.Base.idName, affix.GetAffixValues(), affix.GetEffectValues(), affix.IsCrafted, affix.IsLocked));
        }

        equipData.suffixes.Clear();
        foreach (Affix affix in equipItem.suffixes)
        {
            equipData.suffixes.Add(new AffixSaveData(affix.Base.idName, affix.GetAffixValues(), affix.GetEffectValues(), affix.IsCrafted, affix.IsLocked));
        }
    }