/// <summary> /// 刷新符文显示--符文强化成功监听; /// </summary> void UpdateAllRuneItems() { List <int> equipedTypes = new List <int>(); for (int i = 0, j = (int)(EM_RUNE_POINT.EM_RUNE_POINT_NUMBER); i < j; i++) { EM_RUNE_POINT erp = (EM_RUNE_POINT)i; ItemEquip runeInfo = mObjectCard.GetHeroData().GetRuneItemInfo(erp); if (runeInfo == null) { //mRunes[i].SetIcon(common.defaultPath + AddSpriteName); mRunes[i].SetIcon(AddSprite); mRunes[i].SetLevelInfoActive(false); } else { ItemTemplate runeTemp = DataTemplate.GetInstance().GetItemTemplateById(runeInfo.GetItemTableID()); if (runeTemp != null) { mRunes[i].SetIcon(common.defaultPath + runeTemp.getIcon()); //mRunes[i].SetLevel(runeInfo.) mRunes[i].SetStarsNum(runeTemp.getRune_quality()); mRunes[i].SetLevel(runeInfo.GetStrenghLevel()); int runeType = runeTemp.getRune_type(); //if (!equipedTypes.Contains(runeType)) equipedTypes.Add(runeType); bool isSpecial = i == (int)(EM_RUNE_POINT.EM_RUNE_POINT_SPECIAL); //if (!isSpecial) //{ // mRuneDetailItem.SetRuneType(runeType); //} } mRunes[i].SetLevelInfoActive(true); } } }
void ShowRuneDetailUI(ItemEquip itemE) { if (itemE == null) { return; } ItemTemplate itemT = DataTemplate.GetInstance().GetItemTemplateById(itemE.GetItemTableID()); mSpecHeroName.text = ""; HideAllRuneSelectEffect(); mRunes[(int)mRunePoint].SetEffectShow((EM_RUNE_TYPE)(itemT.getRune_type())); // mRuneDetailItem.SetIcon(common.defaultPath + itemT.getIcon()); // mRuneDetailItem.SetStarsNum(itemT.getRune_quality()); // mRuneDetailItem.SetLevel(itemE.GetStrenghLevel()); // mRuneDetailItem.SetLevelInfoActive(true); // //bool isSpecial = itemT.getRune_type() == 5 || itemT.getRune_type() == 6; // bool isSpecial = RuneModule.IsSpecialRune(itemT); // mRuneDetailItem.SetIsSpecial(isSpecial); // if (!isSpecial) // { // mRuneDetailItem.SetRuneType(itemT.getRune_type()); // } if (mItemCommon == null) { mItemCommon = RuneFactory.CreateRuneItemCommom(m_RuneItemPos); } RuneItemCommonData ricd = new RuneItemCommonData(); ricd.IsShowMaxEffect = true; ricd.ItemT = itemE.GetItemRowData(); ricd.RuneLevel = itemE.GetStrenghLevel(); ricd.EquipedHeroName = RuneModule.GetItemEuipHeroName(itemE); mItemCommon.SetRuneItemData(ricd, RuneItemCommon.RuneItemShowType.IconWithRightName); //mRuneName.text = GameUtils.getString(itemT.getName()); mUserObj.SetActive(false); if (mDetailCommon == null) { mDetailCommon = new RuneDetailCommon(m_RuneAttriPos, itemE.GetItemGuid(), 450f); } else { mDetailCommon.SetShowData(itemE.GetItemGuid()); } // GameUtils.DestroyChildsObj(mAttriList); // //基础属性; // bool titleDone1 = false; // RuneData runeData = itemE.GetRuneData(); // foreach(int id in runeData.BaseAttributeID) // { // if(id == -1) // continue; // // if(!titleDone1) // { // titleDone1 = true; // CreateTitle(mAttriList, GameUtils.getString("hero_rune_content8")); // } // // BaseruneattributeTemplate bt = DataTemplate.GetInstance().GetBaseruneattributeTemplate(id); // if(bt.getNumshow() == 0) // { // //CreateTitle(mAttriList, GameUtils.getString(bt.getAttriDes())); // CreateDetailTxts(mAttriList, GameUtils.getString(bt.getAttriDes())); // } // else // { // //CreateBaseAttriObj(mAttriList, GameUtils.GetAttriName(bt.getAttriType()), "+" + bt.getAttriValue().ToString()); // CreateBaseAttriObj(mAttriList, GameUtils.getString(bt.getAttriDes()), "+" + bt.getAttriValue().ToString()); // } // } // // //附加属性-------激活等级分别为强化等级达到3/6/9/12; // bool titleDone2 = false; int count = DataTemplate.GetInstance().GetRuneMaxRedefineTimes(itemT); // int i = 0; // int strenthLv = itemE.GetStrenghLevel(); // bool isGray = false; // // foreach (int id in runeData.AppendAttribute) // { // i++; // isGray = i * 3 > strenthLv; // if (id == -1) // { // if (i <= count) // { // if (!titleDone2) // { // titleDone2 = true; // CreateTitle(mAttriList, GameUtils.getString("hero_rune_content9")); // } // // //位置属性,未鉴定; // CreateAddAttriObj(mAttriList, GameUtils.getString("rune_content2"), "", GameUtils.getString("rune_content3"), isGray); // } // // continue; // } // // if(!titleDone2) // { // titleDone2 = true; // CreateTitle(mAttriList, GameUtils.getString("hero_rune_content9")); // } // // AddruneattributeTemplate bt = DataTemplate.GetInstance().GetAddruneattributeTemplate(id); // bool isPercent = bt.getIspercentage() > 0; // string val = isPercent ? ((float)bt.getAttriValue() / (float)10f + "%") : bt.getAttriValue().ToString(); // CreateAddAttriObj(mAttriList, GameUtils.getString(bt.getAttriDes1()), GameUtils.getString(bt.getAttriDes2()), bt.getSymbol() + val, isGray); // } //设置按钮状态; GameUtils.SetBtnSpriteGrayState(mStrenthBtn, DataTemplate.GetInstance().IsRuneStrenthFullLevel(itemT, itemE.GetStrenghLevel())); GameUtils.SetBtnSpriteGrayState(mIdentifyBtn, itemE.GetDefineTimes() >= count); mRuneDetailObj.SetActive(true); }
/// <summary> /// 刷新所有有关符文装配界面的信息; /// </summary> void UpdateUIForm() { List <int> equipedTypes = new List <int>(); for (int i = 0, j = (int)(EM_RUNE_POINT.EM_RUNE_POINT_NUMBER); i < j; i++) { EM_RUNE_POINT erp = (EM_RUNE_POINT)i; ItemEquip runeInfo = mObjectCard.GetHeroData().GetRuneItemInfo(erp); mRunes[i].SetRuneType(EM_RUNE_TYPE.EM_RUNE_TYPE_INVALID); if (runeInfo == null) { //mRunes[i].SetIcon(common.defaultPath + AddSpriteName); mRunes[i].SetIcon(AddSprite); mRunes[i].SetLevelInfoActive(false); } else { ItemTemplate runeTemp = DataTemplate.GetInstance().GetItemTemplateById(runeInfo.GetItemTableID()); if (runeTemp != null) { mRunes[i].SetIcon(common.defaultPath + runeTemp.getIcon()); //mRunes[i].SetLevel(runeInfo.) mRunes[i].SetStarsNum(runeTemp.getRune_quality()); mRunes[i].SetLevel(runeInfo.GetStrenghLevel()); int runeType = runeTemp.getRune_type(); //if (!equipedTypes.Contains(runeType)) equipedTypes.Add(runeType); bool isSpecial = i == (int)(EM_RUNE_POINT.EM_RUNE_POINT_SPECIAL); if (!isSpecial) { mRunes[i].SetRuneType(runeType); } } mRunes[i].SetLevelInfoActive(true); } } int heroTableID = mObjectCard.GetHeroData().TableID; HeroTemplate heroT = DataTemplate.GetInstance().GetHeroTemplateById(heroTableID); if (heroT == null) { LogManager.LogError("hero表中缺少数据 heroid = " + heroTableID); return; } List <int> runeGroup = DataTemplate.GetInstance().GetHeroRuneGroup(heroT); if (runeGroup == null) { LogManager.LogError("获取英雄符文组合失败 heroid = " + heroTableID); return; } if (runeGroup.Count > 4) { LogManager.LogError("符文组合最多4个符文"); return; } for (int i = 0, j = mRuneGoupItems.Length; i < j; i++) { mRuneGoupItems[i].SetActive(false); } for (int i = 0, j = runeGroup.Count; i < j; i++) { //mRuneGoupItems[i].SetIcon(GetIconByRuneType(runeGroup[i])); mRuneGoupItems[i].SetIcon(GetSpriteByRuneFlagType(runeGroup[i])); mRuneGoupItems[i].SetEffectShow(EM_RUNE_TYPE.EM_RUNE_TYPE_INVALID); mRuneGoupItems[i].SetActive(true); } int activeNum = 0; for (int i = 0; i < runeGroup.Count; i++) { int idx = equipedTypes.IndexOf(runeGroup[i]); if (idx == -1) { mRuneGoupItems[i].SetEffectShow(EM_RUNE_TYPE.EM_RUNE_TYPE_INVALID); continue; } else { mRuneGoupItems[i].SetEffectShow((EM_RUNE_TYPE)runeGroup[i]); equipedTypes.RemoveAt(idx); activeNum++; } } bool isActive = activeNum >= runeGroup.Count; //是否激活符文组合条件; RunepassiveTemplate runPassT = DataTemplate.GetInstance().GetRunepassiveTemplate(heroT.getRunePassive()); if (runPassT != null) { string str1 = ""; bool isShow1 = GetRuneGroupValueStr(runPassT, 0, out str1); mRuneValues[0].text = isActive ? str1 : "<color=#acacac>" + str1 + "</color>"; mRuneValues[0].transform.parent.gameObject.SetActive(isShow1); mRuneDetails[0].text = isShow1 ? GameUtils.getString(runPassT.getDes1()) : ""; mRuneAttrImgs[0].sprite = RuneAttrImgs[isActive ? 1 : 0]; string str2 = ""; bool isShow2 = GetRuneGroupValueStr(runPassT, 1, out str2); mRuneValues[1].text = isActive ? str2 : "<color=#acacac>" + str2 + "</color>"; mRuneValues[1].transform.parent.gameObject.SetActive(isShow2); mRuneDetails[1].text = isShow2 ? GameUtils.getString(runPassT.getDes2()) : ""; mRuneAttrImgs[1].sprite = RuneAttrImgs[isActive ? 1 : 0]; string str3 = ""; bool isShow3 = GetRuneGroupValueStr(runPassT, 2, out str3); mRuneValues[2].text = isActive ? str3 : "<color=#acacac>" + str3 + "</color>"; mRuneValues[2].transform.parent.gameObject.SetActive(isShow3); mRuneDetails[2].text = isShow3 ? GameUtils.getString(runPassT.getDes3()) : ""; mRuneAttrImgs[2].sprite = RuneAttrImgs[isActive ? 1 : 0]; } }