public static IRuneDetailObj Create(RuneDetailObjType type, Transform parent) { switch (type) { case RuneDetailObjType.ScrollRect: RuneDetailScrollRect lahyout = new RuneDetailScrollRect(RuneManager.Inst.RuneDetail.GetObjClone(RuneDetailObjType.ScrollRect)); lahyout.SetParent(parent); return(lahyout); case RuneDetailObjType.Title: RuneDetailTitle title = new RuneDetailTitle(RuneManager.Inst.RuneDetail.GetObjClone(RuneDetailObjType.Title)); title.SetParent(parent); return(title); case RuneDetailObjType.Content: RuneDetailContent content = new RuneDetailContent(RuneManager.Inst.RuneDetail.GetObjClone(RuneDetailObjType.Content)); content.SetParent(parent); return(content); case RuneDetailObjType.TwoAttri: RuneDetailTwoAttri twoAttri = new RuneDetailTwoAttri(RuneManager.Inst.RuneDetail.GetObjClone(RuneDetailObjType.TwoAttri)); twoAttri.SetParent(parent); return(twoAttri); case RuneDetailObjType.ThreAttri: RuneDetailThreeAtrri threeAttri = new RuneDetailThreeAtrri(RuneManager.Inst.RuneDetail.GetObjClone(RuneDetailObjType.ThreAttri)); threeAttri.SetParent(parent); return(threeAttri); default: return(null); } }
protected void UpdateData(RuneAttriShowType type = RuneAttriShowType.All) { //Debug.LogError("RuneDetailCommon Update data"); SetObjAllUseless(); RuneData runeData = ItemEquipInfo.GetRuneData(); bool titleDone1 = false; foreach (int id in runeData.BaseAttributeID) { if (id == -1) { continue; } int fullLv = DataTemplate.GetInstance().GetRuneStrenthMaxLevel(ItemEquipInfo.GetItemRowData()); if (ItemEquipInfo.GetStrenghLevel() + mStrenLvAdder > fullLv) { return; } if (!titleDone1) { titleDone1 = true; //CreateTitle(mAttriList, GameUtils.getString("hero_rune_content8")); RuneDetailTitle title = GetOrCreateRuneDetailObj(RuneDetailObjType.Title, layoutTrans) as RuneDetailTitle; title.SetTxt(GameUtils.getString("hero_rune_content8")); title.SetActive(true); } BaseruneattributeTemplate bt = DataTemplate.GetInstance().GetBaseruneattributeTemplate(id + mStrenLvAdder); if (bt.getNumshow() == 0 && type != RuneAttriShowType.BaseAttriOnly) { //CreateDetailTxts(mAttriList, GameUtils.getString(bt.getAttriDes())); RuneDetailContent content = GetOrCreateRuneDetailObj(RuneDetailObjType.Content, layoutTrans) as RuneDetailContent; content.SetTxt(GameUtils.getString(bt.getAttriDes())); content.SetActive(true); } else { //CreateBaseAttriObj(mAttriList, GameUtils.getString(bt.getAttriDes()), "+" + bt.getAttriValue().ToString()); RuneDetailTwoAttri twoAttri = GetOrCreateRuneDetailObj(RuneDetailObjType.TwoAttri, layoutTrans) as RuneDetailTwoAttri; twoAttri.SetLeftTxt(GameUtils.getString(bt.getAttriDes())); twoAttri.SetRightTxt("+" + bt.getAttriValue().ToString()); twoAttri.SetActive(true); } } if (type == RuneAttriShowType.All) { //--------附加属性; int count = DataTemplate.GetInstance().GetRuneMaxRedefineTimes(ItemEquipInfo.GetItemRowData()); bool titleDone2 = false; int i = 0; bool isGray = false; foreach (int id in runeData.AppendAttribute) { i++; isGray = i * 3 > ItemEquipInfo.GetStrenghLevel() + mStrenLvAdder; if (id == -1) { if (i <= count) { if (!titleDone2) { titleDone2 = true; //CreateTitle(mAttriList, GameUtils.getString("hero_rune_content9")); RuneDetailTitle title = GetOrCreateRuneDetailObj(RuneDetailObjType.Title, layoutTrans) as RuneDetailTitle; title.SetTxt(GameUtils.getString("hero_rune_content9")); title.SetActive(true); } //未知属性,未鉴定; //CreateAddAttriObj(mAttriList, GameUtils.getString("rune_content2"), "", GameUtils.getString("rune_content3"), isGray); RuneDetailThreeAtrri threeAttri = GetOrCreateRuneDetailObj(RuneDetailObjType.ThreAttri, layoutTrans) as RuneDetailThreeAtrri; threeAttri.SetLeftTxt(GameUtils.getString("rune_content2"), isGray); threeAttri.SetMidTxt("", isGray); threeAttri.SetRightTxt(GameUtils.getString("rune_content3"), isGray); threeAttri.SetActive(true); } continue; } if (!titleDone2) { titleDone2 = true; //CreateTitle(mAttriList, GameUtils.getString("hero_rune_content9")); RuneDetailTitle title = GetOrCreateRuneDetailObj(RuneDetailObjType.Title, layoutTrans) as RuneDetailTitle; title.SetTxt(GameUtils.getString("hero_rune_content9")); title.SetActive(true); } 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); RuneDetailThreeAtrri threeAttri1 = GetOrCreateRuneDetailObj(RuneDetailObjType.ThreAttri, layoutTrans) as RuneDetailThreeAtrri; threeAttri1.SetLeftTxt(GameUtils.getString(bt.getAttriDes1()), isGray); threeAttri1.SetMidTxt(GameUtils.getString(bt.getAttriDes2()), isGray); threeAttri1.SetRightTxt(bt.getSymbol() + val, isGray); threeAttri1.SetActive(true); } } }