Exemple #1
0
        /// <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);
        }
Exemple #2
0
    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);
    }
Exemple #3
0
 /// <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));
 }