/// <summary> /// 刷新加工panel /// </summary> /// <param name="equip"></param> internal void UpdateProccess(Equip equip) { if (null == equip) { return; } bool canProccess = equip.CanProccess; if (null != m_processGrowShow) { m_processGrowShow.SetGridData(equip.QWThisID); } if (null != m_label_ProccessWarningTxt && m_label_ProccessWarningTxt.gameObject.activeSelf == canProccess) { m_label_ProccessWarningTxt.gameObject.SetActive(!canProccess); } if (null != m_trans_ProccessBottom && m_trans_ProccessBottom.gameObject.activeSelf != canProccess) { m_trans_ProccessBottom.gameObject.SetActive(canProccess); } if (canProccess) { DisableProccessGrid(); UpdateProccessCost(); UpdateProccessBtnStatus(); if (IsProccessMode(ForgingProccessMode.Promote)) { UpdatePromote(); } else if (IsProccessMode(ForgingProccessMode.Remove)) { UpdateRemove(); } else if (IsProccessMode(ForgingProccessMode.Fetch)) { UpdateFetch(); } } }
/// <summary> /// 更新合成数据UI /// </summary> void UpdateCompound(Equip data) { if (null == data) { return; } bool canCompound = data.CanCompound; if (null != m_compoundGrowShow) { m_compoundGrowShow.SetGridData(data.QWThisID); } uint zfId = emgr.ZFBaseId; BaseItem zfDataBase = DataManager.Manager <ItemManager>().GetTempBaseItemByBaseID <BaseItem>(zfId); int zfNum = imgr.GetItemNumByBaseId(zfId); bool enough = (zfNum >= 1) ? true : false; if (null != m_trans_CompoundZFRoot && m_trans_CompoundZFRoot.gameObject.activeSelf != canCompound) { m_trans_CompoundZFRoot.gameObject.SetActive(canCompound); } if (canCompound) { if (null != m_zfGrowShow) { m_zfGrowShow.SetGridData(zfId); } if (null != m_btn_CompoundBtnZF && m_btn_CompoundBtnZF.gameObject.activeSelf != enough) { m_btn_CompoundBtnZF.gameObject.SetActive(enough); } } UpdateMainEquipAttr(canCompound); //刷新副装备 UpdateCompoundDeputyEquipAll(); //合成消耗 SetCompoundCost(); }
private void UpdateEvolve(Muhon data) { if (null == data) { return; } bool isMaxStarLv = data.IsMaxStarLv; if (null != m_trans_EvolveInfos && m_trans_EvolveInfos.gameObject.activeSelf == isMaxStarLv) { m_trans_EvolveInfos.gameObject.SetActive(!isMaxStarLv); } if (!isMaxStarLv) { if (null != m_evolveCurGrow) { m_evolveCurGrow.SetGridData(data.QWThisID); } MuhonStarData starData = null; UIItemShowGrid showGrid = null; //星级显示 for (EquipDefine.AttrIndex i = EquipDefine.AttrIndex.None + 1; i < EquipDefine.AttrIndex.Max; i++) { if (m_dicStarData.TryGetValue(i, out starData)) { starData.SetStatus(data.StartLevel >= (int)i); } if (m_dicMuhonDeputy.TryGetValue(i, out showGrid) && null != showGrid) { if ((int)i > data.EvolveNeedMuhonNum) { showGrid.SetVisible(false); } else { if (!showGrid.Visible) { showGrid.SetVisible(true); } if (IsDeputyEvolveGridFill(i)) { showGrid.SetGridData(m_dicSelectMuhonDeputy[i], true); } else { showGrid.SetGridData(0); } } } } //辅助物品 UpdateEvolveSelectStarAnim(); Muhon next = data.Next; //预览 //星级 if (null != m_slider_EvolveCurStarLv) { m_slider_EvolveCurStarLv.value = data.StartLevel / 5f; } if (null != m_slider_EvolveNextStarLv) { m_slider_EvolveNextStarLv.value = next.StartLevel / 5f; } //等级 if (null != m_label_EvolveCurLv) { m_label_EvolveCurLv.text = tmgr.GetLocalFormatText(LocalTextType.Local_Txt_Set_4, data.MaxLv); } if (null != m_label_EvolveNextLv) { m_label_EvolveNextLv.text = tmgr.GetLocalFormatText(LocalTextType.Local_Txt_Set_4, next.MaxLv); } int attrCount = data.AdditionAttrCount; //附加属性 if (null != m_label_EvolveCurAttrNum) { m_label_EvolveCurAttrNum.text = tmgr.GetLocalFormatText(LocalTextType.Local_TXT_Soul_Num, data.MuhonAttrUpLimit); } if (null != m_label_EvolveNextAttrNum) { m_label_EvolveNextAttrNum.text = tmgr.GetLocalFormatText(LocalTextType.Local_TXT_Soul_Num, data.Next.MuhonAttrUpLimit); } ColorType color = ColorType.JZRY_Green; if (null != m_label_EvolveMuhonLv) { if (data.Level != data.MaxLv) { color = ColorType.JZRY_Txt_NotMatchRed; } else { color = ColorType.JZRY_Green; } m_label_EvolveMuhonLv.text = tmgr.GetLocalFormatText(LocalTextType.Local_TXT_Soul_ColorLv, ColorManager.GetNGUIColorOfType(ColorType.JZRY_Txt_Black) , ColorManager.GetNGUIColorOfType(color), data.Level, data.MaxLv); } //角色等级限制 if (null != m_label_EvolvePlayerLvLmit) { if (DataManager.Instance.PlayerLv < data.EvolveNeedPlayerLv) { color = ColorType.JZRY_Txt_NotMatchRed; } else { color = ColorType.JZRY_Green; } m_label_EvolvePlayerLvLmit.text = string.Format("{0}圣魂升星需达{1}主角{2}级" , tmgr.GetMuhonStarName(data.StartLevel) , ColorManager.GetNGUIColorOfType(color) , data.EvolveNeedPlayerLv); } //辅助道具 SetEvolveAssit(); } //最大星级 if (null != m_trans_EvolveMax && m_trans_EvolveMax.gameObject.activeSelf != isMaxStarLv) { m_trans_EvolveMax.gameObject.SetActive(isMaxStarLv); } if (isMaxStarLv) { //刷新圣魂升级信息 if (null != m_evolveMaxGrow) { m_evolveMaxGrow.SetGridData(data.QWThisID); } List <EquipDefine.EquipBasePropertyData> baseProperyList = emgr.GetWeaponSoulBasePropertyData(data.BaseId, data.Level); int countCur = (null != baseProperyList) ? baseProperyList.Count : 0; if (countCur == 0) { Engine.Utility.Log.Error("进化表格数据错误"); return; } if (null != m_sprite_EvolveAttrTitle) { m_sprite_EvolveAttrTitle.transform.Find("Value").GetComponent <UILabel>().text = tmgr.GetLocalFormatText(LocalTextType.Local_TXT_Soul_Num, data.MuhonAttrUpLimit); } EquipDefine.EquipBasePropertyData temp = null; if (null != m_sprite_EvolveAttr1) { if (countCur >= 1) { temp = baseProperyList[0]; m_sprite_EvolveAttr1.transform.Find("Name").GetComponent <UILabel>().text = temp.Name; m_sprite_EvolveAttr1.transform.Find("Value").GetComponent <UILabel>().text = temp.ToString(); } else if (m_sprite_EvolveAttr1.gameObject.activeSelf) { m_sprite_EvolveAttr1.gameObject.SetActive(false); } } if (null != m_sprite_EvolveAttr2) { if (countCur >= 2) { temp = baseProperyList[1]; m_sprite_EvolveAttr2.transform.Find("Name").GetComponent <UILabel>().text = temp.Name; m_sprite_EvolveAttr2.transform.Find("Value").GetComponent <UILabel>().text = temp.ToString(); } else if (m_sprite_EvolveAttr2.gameObject.activeSelf) { m_sprite_EvolveAttr2.gameObject.SetActive(false); } } if (null != m_sprite_EvolveAttr3) { if (countCur >= 3) { temp = baseProperyList[2]; m_sprite_EvolveAttr3.transform.Find("Name").GetComponent <UILabel>().text = temp.Name; m_sprite_EvolveAttr3.transform.Find("Value").GetComponent <UILabel>().text = temp.ToString(); } else if (m_sprite_EvolveAttr3.gameObject.activeSelf) { m_sprite_EvolveAttr3.gameObject.SetActive(false); } } if (null != m_sprite_EvolveAttr4) { if (countCur >= 4) { temp = baseProperyList[3]; m_sprite_EvolveAttr4.transform.Find("Name").GetComponent <UILabel>().text = temp.Name; m_sprite_EvolveAttr4.transform.Find("Value").GetComponent <UILabel>().text = temp.ToString(); } else if (m_sprite_EvolveAttr4.gameObject.activeSelf) { m_sprite_EvolveAttr4.gameObject.SetActive(false); } } } }
private void UpdateBlend(Muhon data) { if (null == data) { return; } Muhon blendData = (blendSelectMuhonId != 0) ? imgr.GetBaseItemByQwThisId <Muhon>(blendSelectMuhonId) : null; //刷新圣魂升级信息 if (null != m_blendCurGrow) { m_blendCurGrow.SetGridData(data.QWThisID); } if (null != m_blendNextGrow) { m_blendNextGrow.SetGridData((null != blendData) ? blendData.QWThisID : 0); } bool choose = (blendSelectMuhonId != 0 && imgr.ExistItem(blendSelectMuhonId)) ? true : false; int attrOpenNum = (data.StartLevel == 0) ? 1 : (int)data.StartLevel; //<id,是否为原属性> Dictionary <uint, bool> retainAdditiveAttrDic = new Dictionary <uint, bool>(); //Cur Additive Attr Dictionary <uint, GameCmd.PairNumber> curAddtiveAttrsDic = new Dictionary <uint, GameCmd.PairNumber>(); foreach (GameCmd.PairNumber pair in data.GetAdditiveAttr()) { curAddtiveAttrsDic.Add(pair.id, pair); } //Blend Additive Attr Dictionary <uint, GameCmd.PairNumber> blendAddtiveAttrsDic = new Dictionary <uint, GameCmd.PairNumber>(); if (null != blendData) { foreach (GameCmd.PairNumber pair in blendData.GetAdditiveAttr()) { blendAddtiveAttrsDic.Add(pair.id, pair); } } if (null != m_btn_BlendUnload && m_btn_BlendUnload.gameObject.activeSelf != choose) { m_btn_BlendUnload.gameObject.SetActive(choose); } if (choose) { bool inCur = true; foreach (GameCmd.PairNumber pairCur in curAddtiveAttrsDic.Values) { if (retainAdditiveAttrDic.Count >= attrOpenNum) { continue; } inCur = true; if (blendAddtiveAttrsDic.ContainsKey(pairCur.id) && blendAddtiveAttrsDic[pairCur.id].value > pairCur.value) { inCur = false; } retainAdditiveAttrDic.Add(pairCur.id, inCur); } foreach (GameCmd.PairNumber pairBlend in blendAddtiveAttrsDic.Values) { if (retainAdditiveAttrDic.Count >= attrOpenNum) { continue; } if (!retainAdditiveAttrDic.ContainsKey(pairBlend.id)) { retainAdditiveAttrDic.Add(pairBlend.id, false); } } } List <GameCmd.PairNumber> curTempAttrList = new List <GameCmd.PairNumber>(curAddtiveAttrsDic.Values); List <GameCmd.PairNumber> blendTempAttrList = new List <GameCmd.PairNumber>(blendAddtiveAttrsDic.Values); string attrDes; bool chooseAttr = false; uint attrGrade = 0; UIMuhonPropertyGrid muhonGrid = null; GameCmd.PairNumber pairNum = null; int index = 0; for (EquipDefine.AttrIndex i = EquipDefine.AttrIndex.First; i <= EquipDefine.AttrIndex.Fifth; i++) { index = (int)i - 1; //填充当前圣魂属性 if (m_dic_currentAttrs.TryGetValue(i, out muhonGrid)) { if ((index + 1) <= attrOpenNum) { if (curTempAttrList.Count > index) { pairNum = curTempAttrList[index]; attrDes = emgr.GetAttrDes(pairNum); chooseAttr = (retainAdditiveAttrDic.ContainsKey(pairNum.id) && retainAdditiveAttrDic[pairNum.id]) ? true : false; attrGrade = emgr.GetAttrGrade(pairNum); muhonGrid.SetGridView(true, false, txt: attrDes, needMask: choose, grade: attrGrade, check: chooseAttr); } else { muhonGrid.SetGridView(true); } } else { muhonGrid.SetGridView(false, lockDes: tmgr.GetMuhonAttrLockDes(i)); } } //填充融合圣魂属性 if (m_dic_blendAtrs.TryGetValue(i, out muhonGrid)) { if ((index + 1) <= attrOpenNum) { if (blendTempAttrList.Count > index) { pairNum = blendTempAttrList[index]; attrDes = emgr.GetAttrDes(pairNum); chooseAttr = (retainAdditiveAttrDic.ContainsKey(pairNum.id) && !retainAdditiveAttrDic[pairNum.id]) ? true : false; attrGrade = emgr.GetAttrGrade(pairNum); muhonGrid.SetGridView(true, false, txt: attrDes, needMask: choose, grade: attrGrade, check: chooseAttr); } else { muhonGrid.SetGridView(true); } } else { muhonGrid.SetGridView(false, lockDes: tmgr.GetMuhonAttrLockDes(i)); } } } //显示Tips if (null != m_trans_BlendTips && m_trans_BlendTips.gameObject.activeSelf != choose) { m_trans_BlendTips.gameObject.SetActive(choose); } //辅助 SetBlendAssist(); }
/// <summary> /// 更新精炼数据UI /// </summary> void UpdateRefine(Equip data) { if (null == data) { return; } bool isRefineEnable = data.CanRefine; bool isMax = isRefineEnable && data.IsRefineMax; if (null != m_trans_RefineEquipPropertyContent && m_trans_RefineEquipPropertyContent.gameObject.activeSelf != isRefineEnable) { m_trans_RefineEquipPropertyContent.gameObject.SetActive(isRefineEnable); } if (null != m_refienGrowShow) { m_refienGrowShow.SetGridData(data.QWThisID); } if (isRefineEnable) { //精炼属性提升 bool enable = !isMax; if (null != m_label_RefineCurLv) { if (m_label_RefineCurLv.gameObject.activeSelf != enable) { m_label_RefineCurLv.gameObject.SetActive(enable); } if (enable) { m_label_RefineCurLv.text = string.Format("当前等级:{0}", data.RefineLv); } } if (null != m_label_RefineTargetLv) { if (m_label_RefineTargetLv.gameObject.activeSelf != enable) { m_label_RefineTargetLv.gameObject.SetActive(enable); } if (enable) { m_label_RefineTargetLv.text = string.Format("下一等级:{0}", data.RefineLv + 1); } } if (null != m_label_RefineMaxLv) { if (m_label_RefineMaxLv.gameObject.activeSelf != isMax) { m_label_RefineMaxLv.gameObject.SetActive(isMax); } if (isMax) { m_label_RefineMaxLv.text = string.Format("当前等级:{0}", data.RefineLv);; } } List <EquipDefine.EquipBasePropertyData> curBaseProData = emgr.GetEquipRefineBasePropertyPromote(data.BaseId, (int)data.RefineLv); List <EquipDefine.EquipBasePropertyData> nextBaseProData = (enable) ? emgr.GetEquipRefineBasePropertyPromote(data.BaseId, (int)data.RefineLv + 1) :null; Transform content = null; Transform max = null; bool propertyenable = false; if (null != m_trans_RefineEquipProperty1) { propertyenable = curBaseProData.Count > 0; if (m_trans_RefineEquipProperty1.gameObject.activeSelf != propertyenable) { m_trans_RefineEquipProperty1.gameObject.SetActive(propertyenable); } if (propertyenable) { content = m_trans_RefineEquipProperty1.Find("Content"); max = m_trans_RefineEquipProperty1.Find("Max"); if (content.gameObject.activeSelf != enable) { content.gameObject.SetActive(enable); } if (enable) { content.Find("Name").GetComponent <UILabel>().text = ((EquipDefine.EquipBasePropertyType)curBaseProData[0].popertyType).GetEnumDescription(); content.Find("CurValue").GetComponent <UILabel>().text = curBaseProData[0].ToString(); content.Find("TargetValue").GetComponent <UILabel>().text = nextBaseProData[0].ToString(); } if (max.gameObject.activeSelf == enable) { max.gameObject.SetActive(!enable); } if (!enable) { max.Find("AttrTxt").GetComponent <UILabel>().text = string.Format("{0} {1}" , ((EquipDefine.EquipBasePropertyType)curBaseProData[0].popertyType).GetEnumDescription() , curBaseProData[0]); } } } if (null != m_trans_RefineEquipProperty2) { propertyenable = curBaseProData.Count > 1; if (m_trans_RefineEquipProperty2.gameObject.activeSelf != propertyenable) { m_trans_RefineEquipProperty2.gameObject.SetActive(propertyenable); } if (propertyenable) { content = m_trans_RefineEquipProperty2.Find("Content"); max = m_trans_RefineEquipProperty2.Find("Max"); if (content.gameObject.activeSelf != enable) { content.gameObject.SetActive(enable); } if (enable) { content.Find("Name").GetComponent <UILabel>().text = ((EquipDefine.EquipBasePropertyType)curBaseProData[1].popertyType).GetEnumDescription(); content.Find("CurValue").GetComponent <UILabel>().text = curBaseProData[1].ToString(); content.Find("TargetValue").GetComponent <UILabel>().text = nextBaseProData[1].ToString(); } if (max.gameObject.activeSelf == enable) { max.gameObject.SetActive(!enable); } if (!enable) { max.Find("AttrTxt").GetComponent <UILabel>().text = string.Format("{0} {1}" , ((EquipDefine.EquipBasePropertyType)curBaseProData[1].popertyType).GetEnumDescription() , curBaseProData[1]); } } } } if (null != m_trans_RefineMax) { if (m_trans_RefineMax.gameObject.activeSelf != isMax) { m_trans_RefineMax.gameObject.SetActive(isMax); } if (isMax && null != m_label_RefineMaxActiveProp) { m_label_RefineMaxActiveProp.text = emgr.GetAttrDes(emgr.GetAdvanceAttrByEquipPos((int)data.EPos)); } } if (null != m_trans_RefineDisable && m_trans_RefineDisable.gameObject.activeSelf == isRefineEnable) { m_trans_RefineDisable.gameObject.SetActive(!isRefineEnable); } //设置成功率UI int refineSuccssProp = (isRefineEnable && !isMax) ? emgr.GetEquipRefineProbability(data.BaseId, (int)data.RefineLv + 1) :0; SetRefineSuccessProbability(refineSuccssProp, showPercent: (isRefineEnable && !isMax)); //设置辅助材料 SetRefineAssistMaterial(); //设置消耗材料 SetRefineCostMaterial(); //设置精炼消耗钱币 SetRefineCost(); }
private void UpdatePromote(Muhon data) { if (null == data) { return; } if (null == data.LocalUpgradeDataBase) { Engine.Utility.Log.Error(CLASS_NAME + "->upGradeDataBase null"); return; } //刷新圣魂升级信息 if (null != m_promoteGrow) { m_promoteGrow.SetGridData(data.QWThisID); } //刷新等级经验信息 if (null != m_label_Level) { //当前等级:{0}/{1} {2}需求等级:{3} ColorType cTye = ColorType.Green; if (DataManager.Instance.PlayerLv < data.BaseData.useLevel) { cTye = ColorType.Red; } string color = ColorManager.GetNGUIColorOfType(ColorType.Gray); m_label_Level.text = string.Format("{0}/{1}", data.Level, data.MaxLv); //= DataManager.Manager<TextManager>().GetLocalFormatText(LocalTextType.Local_TXT_Soul_Level //, data.Level, data.MaxLv, ColorUtil.GetNGUIColorOfType(cTye), data.BaseData.useLevel); } float expPercentage = (data.IsMaxLv) ? 1f : (float)data.Exp / data.UpgradeExp; if (null != m_label_PromoteExpPencentage) { m_label_PromoteExpPencentage.text = string.Format("{0}%", (expPercentage * 100).ToString("f1")); } if (null != m_slider_PromoteExpProgress) { SlideAnimation slideAnim = m_slider_PromoteExpProgress.GetComponent <SlideAnimation>(); if (null != slideAnim) { slideAnim.DoSlideAnim(slideAnim.value, expPercentage); } } //刷新基础属性预览 List <EquipDefine.EquipBasePropertyData> basePropertyList = emgr.GetWeaponSoulBasePropertyData(data.BaseId, data.Level); int count = (null != basePropertyList) ? basePropertyList.Count : 0; table.WeaponSoulUpgradeDataBase nextUpgradeDataBase = null; List <EquipDefine.EquipBasePropertyData> nexBasePropertyList = null; if (!data.IsMaxLv) { nexBasePropertyList = emgr.GetWeaponSoulBasePropertyData(data.BaseId, data.Level + 1); } if (null != m_trans_BasePropertyLevel) { m_trans_BasePropertyLevel.Find("Content/Name").GetComponent <UILabel>().text = "等级"; m_trans_BasePropertyLevel.Find("Content/Current").GetComponent <UILabel>().text = data.Level + ""; m_trans_BasePropertyLevel.Find("Content/Target").GetComponent <UILabel>().text = (data.IsMaxLv) ? "满级" : "" + (data.Level + 1); } EquipDefine.EquipBasePropertyData temp = null; if (null != m_trans_BaseProperty1) { if (count >= 1) { temp = basePropertyList[0]; } m_trans_BaseProperty1.Find("Content/Name").GetComponent <UILabel>().text = (null != temp) ? temp.Name : "无"; m_trans_BaseProperty1.Find("Content/Current").GetComponent <UILabel>().text = (null != temp) ? temp.ToString() : "无"; m_trans_BaseProperty1.Find("Content/Target").GetComponent <UILabel>().text = (!data.IsMaxLv && null != nexBasePropertyList && nexBasePropertyList.Count >= 1) ? nexBasePropertyList[0].ToString() : "满级"; } if (null != m_trans_BaseProperty2) { if (count >= 2) { temp = basePropertyList[1]; } m_trans_BaseProperty2.Find("Content/Name").GetComponent <UILabel>().text = (null != temp) ? temp.Name : "无"; m_trans_BaseProperty2.Find("Content/Current").GetComponent <UILabel>().text = (null != temp) ? temp.ToString() : "无"; m_trans_BaseProperty2.Find("Content/Target").GetComponent <UILabel>().text = (!data.IsMaxLv && null != nexBasePropertyList && nexBasePropertyList.Count >= 2) ? nexBasePropertyList[1].ToString() : "满级"; } if (null != m_trans_BaseProperty3) { if (count >= 3) { temp = basePropertyList[2]; } m_trans_BaseProperty3.Find("Content/Name").GetComponent <UILabel>().text = (null != temp) ? temp.Name : "无"; m_trans_BaseProperty3.Find("Content/Current").GetComponent <UILabel>().text = (null != temp) ? temp.ToString() : "无"; m_trans_BaseProperty3.Find("Content/Target").GetComponent <UILabel>().text = (!data.IsMaxLv && null != nexBasePropertyList && nexBasePropertyList.Count >= 3) ? nexBasePropertyList[2].ToString() : "满级"; } if (null != m_trans_BaseProperty4) { if (count >= 4) { temp = basePropertyList[3]; } m_trans_BaseProperty4.Find("Content/Name").GetComponent <UILabel>().text = (null != temp) ? temp.Name : "无"; m_trans_BaseProperty4.Find("Content/Current").GetComponent <UILabel>().text = (null != temp) ? temp.ToString() : "无"; m_trans_BaseProperty4.Find("Content/Target").GetComponent <UILabel>().text = (!data.IsMaxLv && null != nexBasePropertyList && nexBasePropertyList.Count >= 4) ? nexBasePropertyList[3].ToString() : "满级"; } }