private void SetSpendView(AdvancedSpend aspend)
    {
        int   share = aspend.material.Length - 1;
        float angle = 360f / share;

        for (int i = 0; i < aspend.material.Length - 1; ++i)
        {
            GameObject mGo    = Instantiate(material, parent_trf);
            float      radian = -(angle / 180) * Mathf.PI * i;
            mGo.transform.localPosition = new Vector3(Mathf.Sin(radian) * distance, Mathf.Cos(radian) * distance, 0);
            MateralItem mi = mGo.GetComponent <MateralItem>();
            mi.SetView(aspend.material[i]);
        }
        advancedspend_txt.text    = aspend.material[share].num.ToString();
        advancedequip_img.sprite  = ResourceMgr.Instance.LoadSprite(JsonMgr.GetSingleton().GetItemConfigByID(aspend.ID).icon);
        advancedborder_img.sprite = ResourceMgr.Instance.LoadSprite(ColorMgr.Border[equip.ItemData.rare]);
    }
    private void SetAdvancedView()
    {
        int[] targets = equip.JsonData.Advanced;
        int   target  = PlayerPrefs.GetInt("advancedtarget");

        //处理紫升橙
        if (targets.Length > 1)
        {
            bool has = false;
            for (int i = 0; i < targets.Length; ++i)
            {
                if (targets[i] == target)
                {
                    has = true;
                }
            }
            if (target != 0 && has)
            {
                advancedequip_img.raycastTarget = true;
                target_img.raycastTarget        = false;
                EventListener.Get(advancedequip_img.gameObject).OnClick = e =>
                {
                    attr_obj.SetActive(false);
                    null_obj.SetActive(true);
                    for (int i = 0, length = parent_trf.childCount; i < length; ++i)
                    {
                        DestroyImmediate(parent_trf.GetChild(0).gameObject);
                    }
                    target = 0;
                    PlayerPrefs.SetInt("advancedtarget", 0);
                    UIFace.GetSingleton().Open(UIID.EuqipTipCtrl, targets);
                };
            }
            else
            {
                advancedequip_img.gameObject.SetActive(false);
                advancedborder_img.gameObject.SetActive(false);
                target_img.gameObject.SetActive(true);
                attr_obj.SetActive(false);
                null_obj.SetActive(true);
                target_img.raycastTarget        = true;
                advancedequip_img.raycastTarget = false;

                EventListener.Get(target_img.gameObject).OnClick = e =>
                {
                    PlayerPrefs.SetInt("advancedtarget", 0);
                    UIFace.GetSingleton().Open(UIID.EuqipTipCtrl, targets);
                };
                return;
            }
        }
        else if (targets.Length == 0)
        {
            advancedequip_img.gameObject.SetActive(false);
            advancedborder_img.gameObject.SetActive(false);
            target_img.gameObject.SetActive(true);
            attr_obj.SetActive(false);
            null_obj.SetActive(true);
            target_img.raycastTarget        = true;
            advancedequip_img.raycastTarget = false;
            EventListener.Get(target_img.gameObject).OnClick = e =>
            {
                CanvasView.Instance.AddNotice("当前装备已进阶至最大等级");
            };
            return;
        }
        else
        {
            advancedequip_img.raycastTarget = false;
            target = targets[0];
        }

        advancedequip_img.gameObject.SetActive(true);
        advancedborder_img.gameObject.SetActive(true);
        target_img.gameObject.SetActive(false);
        attr_obj.SetActive(true);
        null_obj.SetActive(false);
        AdvancedSpend aspend = JsonMgr.GetSingleton().GetAdvancedSpendByID(target);

        SetSpendView(aspend);
        EventListener.Get(advanced_btn.gameObject).OnClick = e =>
        {
            if (equip.JsonData.Advanced.Length == 0)
            {
                CanvasView.Instance.AddNotice("当前装备已进阶至最大等级");
                return;
            }
            else if (equip.StrengthenLv < equip.JsonData.AdvancedCondition)
            {
                CanvasView.Instance.AddNotice(string.Format("进阶失败!需要强化等级达到{0},才能继续进阶。", equip.JsonData.AdvancedCondition));
                return;
            }
            else if (target == 0)
            {
                return;
            }
            for (int i = 0, length = parent_trf.childCount; i < length; ++i)
            {
                DestroyImmediate(parent_trf.GetChild(0).gameObject);
            }

            equip.EquipId = target;
            SetAdvancedView();
            HeroData hero = HeroMgr.GetSingleton().GetHeroData(equip.HeroId);
            if (hero == null)
            {
                return;
            }
            hero.ClearEquipAttr();
            ZEventSystem.Dispatch(EventConst.REFRESHRIGHT);
        };
        StringBuilder sb = new StringBuilder();

        Pro[] p = equip.Attribute;
        for (int i = 0, length = p.Length; i < length; ++i)
        {
            sb.Append(AttrUtil.GetAttribute(p[i].attr));
            sb.Append(": +");
            sb.Append(AttrUtil.ShowText(p[i].attr, equip.JsonData.Attribute[i].num + p[i].num, equip.JsonData.Attribute[i].per + p[i].per));
            sb.Append("\n");
        }
        name_txt.supportRichText = true;
        string color = ColorMgr.Colors[equip.ItemData.rare - 1];

        name_txt.text     = string.Format("<color=#{0}>{1}{2}</color>", color, equip.JsonData.Name, equip.StrengthenLv > 0 ? "  +" + equip.StrengthenLv : "");
        baseattr_txt.text = string.Format("<color=#{0}>{1}</color>", color, sb);

        Equip         q      = JsonMgr.GetSingleton().GetEquipByID(target);
        StringBuilder append = new StringBuilder();

        p = q.Attribute;
        for (int i = 0, length = p.Length; i < length; ++i)
        {
            append.Append(AttrUtil.GetAttribute(p[i].attr));
            append.Append(": +");
            append.Append(AttrUtil.ShowText(p[i].attr, p[i].num + p[i].num * equip.StrengthenLv, p[i].per + p[i].per * equip.StrengthenLv));
            append.Append("\n");
        }
        ItemConfig ic = JsonMgr.GetSingleton().GetItemConfigByID(target);

        color = ColorMgr.Colors[ic.rare - 1];
        advanced_txt.supportRichText = true;
        advanced_txt.text            = string.Format("<color=#{0}>{1}{2}</color>", color, q.Name, equip.StrengthenLv > 0 ? "  +" + equip.StrengthenLv : "");
        advancedattr_txt.text        = string.Format("<color=#{0}>{1}</color>", color, append);
        sb     = null;
        append = null;
    }