void SetStarAttr(GameItem item, int index, float attr)
 {
     if (item.StarLevel > 0)
     {
         Tab_EquipStar starline = TableManager.GetEquipStarByID(item.StarLevel, 0);
         if (starline != null)
         {
             float rate = starline.AttrRate;
             if (rate > 0)
             {
                 //m_StarAttr[index].text = string.Format("+{0}", (int)(attr * rate)+1);
                 //m_StarAttr[index].gameObject.SetActive(true);
             }
         }
     }
 }
    int GetStarAttr(GameItem item, float attr)
    {
        int starValue = 0;

        if (null != item && item.StarLevel > 0)
        {
            Tab_EquipStar starline = TableManager.GetEquipStarByID(item.StarLevel, 0);
            if (starline != null)
            {
                float rate = starline.AttrRate;
                if (rate > 0)
                {
                    starValue = (int)(attr * rate) + 1;
                }
            }
        }
        return(starValue);
    }
    void SetEnchanceAndStarAttr(GameItem item, int index, float attr, bool extraAddAttr = false)
    {
        int EnchanceAndStarValue = 0;

        //强化属性
        if (item.EnchanceLevel > 0)
        {
            Tab_EquipEnchance enchanceline = TableManager.GetEquipEnchanceByID(item.EnchanceLevel, 0);
            if (enchanceline != null)
            {
                float rate = enchanceline.EnchanceRate;
                if (rate > 0)
                {
                    EnchanceAndStarValue += (int)(attr * rate) + 1;
                }
            }
        }
        //打星属性
        if (item.StarLevel > 0 && extraAddAttr == false)
        {
            Tab_EquipStar starline = TableManager.GetEquipStarByID(item.StarLevel, 0);
            if (starline != null)
            {
                float rate = starline.AttrRate;
                if (rate > 0)
                {
                    EnchanceAndStarValue += (int)(attr * rate) + 1;
                }
            }
        }
        if (EnchanceAndStarValue > 0)
        {
            m_EnchanceAttr[index].text = string.Format("+{0}", EnchanceAndStarValue);
            m_EnchanceAttr[index].gameObject.SetActive(true);
        }
    }
    //显示装备属性
    public void ShowAttr(GameItem item)
    {
        for (int i = 0; i < m_AttrName.Length; ++i)
        {
            m_AttrName[i].text  = "";
            m_AddAttr[i].text   = "";
            m_AttrValue[i].text = "";
            m_AttrWhole[i].SetActive(false);
            m_CurAttr[i].text = "";
        }
        string        strStar     = "";
        string        curStrStar  = "";
        Tab_EquipStar starline    = TableManager.GetEquipStarByID(item.StarLevel + 1, 0);
        Tab_EquipStar curStarline = TableManager.GetEquipStarByID(item.StarLevel, 0);

        //if (starline != null && curStarline != null)
        if (starline != null)
        {
            strStar = (starline.AttrRate * 100 + 100).ToString() + "%";
            if (curStarline != null)
            {
                curStrStar = (curStarline.AttrRate * 100 + 100).ToString() + "%";
            }
            else
            {
                curStrStar = "0%";
            }
        }
        string        strColor = "[00A0FF]";
        Tab_EquipAttr line     = TableManager.GetEquipAttrByID(item.DataID, 0);

        if (line != null)
        {
            int index = 0;
            //血上限
            if (line.HP > 0 && index < m_AttrName.Length && index >= 0)
            {
                //打星加成属性
                m_AttrName[index].text = strColor + ItemTool.ConvertAttrToString(COMBATATTE.MAXHP);
                m_AddAttr[index].text  = strStar;
                m_CurAttr[index].text  = curStrStar;
                m_AttrWhole[index].SetActive(true);
                ++index;
            }
            //蓝上限
            if (line.MP > 0 && index < m_AttrName.Length && index >= 0)
            {
                m_AttrName[index].text = strColor + ItemTool.ConvertAttrToString(COMBATATTE.MAXMP);
                m_AddAttr[index].text  = strStar;
                m_CurAttr[index].text  = curStrStar;
                m_AttrWhole[index].SetActive(true);
                ++index;
            }
            //物理攻击
            if (line.PhysicsAttack > 0 && index < m_AttrName.Length && index >= 0)
            {
                m_AttrName[index].text = strColor + ItemTool.ConvertAttrToString(COMBATATTE.PYSATTACK);
                m_AddAttr[index].text  = strStar;
                m_CurAttr[index].text  = curStrStar;
                m_AttrWhole[index].SetActive(true);
                ++index;
            }
            //法术攻击
            if (line.MagicAttack > 0 && index < m_AttrName.Length && index >= 0)
            {
                m_AttrName[index].text = strColor + ItemTool.ConvertAttrToString(COMBATATTE.MAGATTACK);
                m_AddAttr[index].text  = strStar;
                m_CurAttr[index].text  = curStrStar;
                m_AttrWhole[index].SetActive(true);
                ++index;
            }
            //物理防御
            if (line.PhysicsDefence > 0 && index < m_AttrName.Length && index >= 0)
            {
                m_AttrName[index].text = strColor + ItemTool.ConvertAttrToString(COMBATATTE.PYSDEF);
                m_AddAttr[index].text  = strStar;
                m_CurAttr[index].text  = curStrStar;
                m_AttrWhole[index].SetActive(true);
                ++index;
            }
            //法术防御
            if (line.MagicDefence > 0 && index < m_AttrName.Length && index >= 0)
            {
                m_AttrName[index].text = strColor + ItemTool.ConvertAttrToString(COMBATATTE.MAGDEF);
                m_AddAttr[index].text  = strStar;
                m_CurAttr[index].text  = curStrStar;
                m_AttrWhole[index].SetActive(true);
                ++index;
            }
            //全攻击
            if (line.AllAttack > 0 && index < m_AttrName.Length && index >= 0)
            {
                m_AttrName[index].text = strColor + ItemTool.ConvertAttrToString((COMBATATTE)1000);
                m_AddAttr[index].text  = strStar;
                m_CurAttr[index].text  = curStrStar;
                m_AttrWhole[index].SetActive(true);
                ++index;
            }
            //全防御
            if (line.AllDefence > 0 && index < m_AttrName.Length && index >= 0)
            {
                m_AttrName[index].text = strColor + ItemTool.ConvertAttrToString((COMBATATTE)1001);
                m_AddAttr[index].text  = strStar;
                m_CurAttr[index].text  = curStrStar;
                m_AttrWhole[index].SetActive(true);
                ++index;
            }
            ////打星不加附加属性
            //for (int attrIndex = 0; attrIndex < line.getAddAttrTypeCount(); ++attrIndex)
            //{
            //    int attrType = line.GetAddAttrTypebyIndex(attrIndex);
            //    float attrValue = line.GetAddAttrValuebyIndex(attrIndex);
            //    if ((attrType >= (int)COMBATATTE.MAXHP && attrType < (int)COMBATATTE.COMBATATTE_MAXNUM) || attrType == 1000 || attrType == 1001)
            //    {
            //        if (attrValue > 0)
            //        {
            //            if (index < m_AttrName.Length && index >= 0)
            //            {
            //                //策划要求隐藏装备攻速属性
            //                if (attrType == (int)COMBATATTE.ATTACKSPEED)
            //                {
            //                    continue;
            //                }
            //                m_AttrName[index].text = strColor + ItemTool.ConvertAttrToString((COMBATATTE)attrType);
            //                m_AddAttr[index].text = strStar;
            //                m_AttrWhole[index].SetActive(true);
            //                ++index;
            //            }
            //        }
            //    }
            //}
            m_Grid.Reposition();
            m_TopGrid.Recenter(true);
        }
    }