/// <summary> /// 获取与装备上的装备对比属性值 /// </summary> /// <param name="itemFielInfo">Item fiel info.</param> /// <param name="effectType">Effect type.</param> int GetCompairNum(ItemFielInfo itemfileInfo, EquipInfoType equipInfoType) { string numStr = EquipItem.GetItemInfoDetail(itemfileInfo, equipInfoType).Replace("+", ""); if (string.IsNullOrEmpty(numStr)) { numStr = "0"; } int getNum = int.Parse(numStr); var equipItemList = ContainerInfomanager.Instance.GetEquiptItemList(); ItemFielInfo equipItem = equipItemList.FirstOrDefault(P => (P.LocalItemData as EquipmentData)._vectEquipLoc == (itemfileInfo.LocalItemData as EquipmentData)._vectEquipLoc); if (equipItem != null) { string numStr1 = EquipItem.GetItemInfoDetail(equipItem, equipInfoType).Replace("+", ""); if (string.IsNullOrEmpty(numStr1)) { numStr1 = "0"; } getNum = getNum - int.Parse(numStr1); } return(getNum); }
public static string GetItemInfoDetail(ItemFielInfo itemFileInfo, EquipInfoType equipInfoType, bool isNormal) { string result = string.Empty; var EffName0 = GetEffNameOrValue(itemFileInfo.LocalItemData as EquipmentData, 0, true); var EffName1 = GetEffNameOrValue(itemFileInfo.LocalItemData as EquipmentData, 1, true); if (itemFileInfo != null) { switch (equipInfoType) { case EquipInfoType.EquipName: result = GetEquipName(itemFileInfo); break; case EquipInfoType.EquipStrenLevel: if (itemFileInfo.sSyncContainerGoods_SC.uidGoods != 0) { result = "+" + PlayerDataManager.Instance.GetEquipmentStrengthLevel((EquiptSlotType)int.Parse((itemFileInfo.LocalItemData as EquipmentData)._vectEquipLoc)).ToString(); } else { result = "+0"; } break; case EquipInfoType.EquipStarLevel: if (itemFileInfo.sSyncContainerGoods_SC.uidGoods != 0) { result = PlayerDataManager.Instance.GetEquipmentStarLevel((EquiptSlotType)int.Parse((itemFileInfo.LocalItemData as EquipmentData)._vectEquipLoc)).ToString(); } break; case EquipInfoType.EquipStarColorIndex: result = GetEquipStarIndex(itemFileInfo).ToString(); break; case EquipInfoType.Prop1IconName: if (!string.IsNullOrEmpty(EffName0)) { var effectData = ItemDataManager.Instance.GetEffectData(EffName0); if (effectData != null) { result = effectData.EffectRes; } } break; case EquipInfoType.Prop1Name: if (!string.IsNullOrEmpty(EffName0)) { var effectData = ItemDataManager.Instance.GetEffectData(EffName0); result = LanguageTextManager.GetString(effectData.IDS); } break; case EquipInfoType.Prop1Value: if (!string.IsNullOrEmpty(EffName0)) { var effectData = ItemDataManager.Instance.GetEffectData(EffName0); result = HeroAttributeScale.GetScaleAttribute(effectData, StrengthenMainValue(itemFileInfo, 0)).ToString(); // string.Format("{0}+{1}", NormalStrengthenNormalValue(ItemFielInfo, 0), NormalStrengthenAddValue(ItemFielInfo, 0)); } break; case EquipInfoType.Prop1Add: if (!string.IsNullOrEmpty(EffName0)) { var effectData = ItemDataManager.Instance.GetEffectData(EffName0); result = "+" + HeroAttributeScale.GetScaleAttribute(effectData, (int)StrengthenAddValue(itemFileInfo, 0, isNormal)); // string.Format("{0}+{1}", NormalStrengthenNormalValue(ItemFielInfo, 0), NormalStrengthenAddValue(ItemFielInfo, 0)); } break; case EquipInfoType.Prop1TotalAdd: if (!string.IsNullOrEmpty(EffName0)) { var effectData = ItemDataManager.Instance.GetEffectData(EffName0); //总属性-基础属性 result = "+" + HeroAttributeScale.GetScaleAttribute(effectData, StrengthenMainValue(itemFileInfo, 0) - int.Parse(GetEffNameOrValue(itemFileInfo.LocalItemData as EquipmentData, 0, false))); } break; case EquipInfoType.Prop2IconName: if (!string.IsNullOrEmpty(EffName1)) { var effectData = ItemDataManager.Instance.GetEffectData(EffName1); if (effectData != null) { result = effectData.EffectRes; } } break; case EquipInfoType.Prop2Name: if (!string.IsNullOrEmpty(EffName1)) { var effectData = ItemDataManager.Instance.GetEffectData(EffName1); result = LanguageTextManager.GetString(effectData.IDS); } break; case EquipInfoType.Prop2Value: if (!string.IsNullOrEmpty(EffName1)) { var effectData = ItemDataManager.Instance.GetEffectData(EffName1); result = HeroAttributeScale.GetScaleAttribute(effectData, StrengthenMainValue(itemFileInfo, 1)).ToString(); } break; case EquipInfoType.Prop2Add: if (!string.IsNullOrEmpty(EffName1)) { var effectData = ItemDataManager.Instance.GetEffectData(EffName1); result = "+" + HeroAttributeScale.GetScaleAttribute(effectData, (int)StrengthenAddValue(itemFileInfo, 1, isNormal)).ToString(); } break; case EquipInfoType.Prop2TotalAdd: if (!string.IsNullOrEmpty(EffName1)) { var effectData = ItemDataManager.Instance.GetEffectData(EffName1); //总属性-基础属性 result = "+" + HeroAttributeScale.GetScaleAttribute(effectData, StrengthenMainValue(itemFileInfo, 1) - int.Parse(GetEffNameOrValue(itemFileInfo.LocalItemData as EquipmentData, 1, false))); } break; case EquipInfoType.Prop1MainAdd: result = "+" + GetNorMalMainProAdd(itemFileInfo, 0).ToString(); break; case EquipInfoType.Prop1StarAdd: result = "+" + GetNormalMainProAddForStar(itemFileInfo, 0).ToString(); break; case EquipInfoType.Prop2MainAdd: result = "+" + GetNorMalMainProAdd(itemFileInfo, 1).ToString(); break; case EquipInfoType.Prop2StarAdd: result = "+" + GetNormalMainProAddForStar(itemFileInfo, 1).ToString(); break; } } return(result); }
/// <summary> /// 计算物品信息 /// </summary> /// <returns>The item info detail.</returns> /// <param name="equipInfoType">信息类型</param> /// <param name="isNormal">是否普通强化还是星阶提升</param> public static string GetItemInfoDetail(ItemFielInfo itemFileInfo, EquipInfoType equipInfoType) { return(GetItemInfoDetail(itemFileInfo, equipInfoType, true)); }