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; }