// ================== 已装备属性 ================== public void ShowEquippedInfo(int[] eids) { if (eids == null) { return; } var attr = new HeroEquipmentTotleAttr(); for (int i = 0; i < eids.Length; i++) { int eid = eids[i]; if (eid != 0) { DetailedEquipmentInfo info = LTPartnerEquipDataManager.Instance.GetEquipmentInfoByEID(eid); if (info == null) { continue; } attr.AddSuitInfo(info); } } ShowEquippedSuitView(attr.SuitList); ShowEquippedAttr(attr); }
private void ShowEquippedAttr(HeroEquipmentTotleAttr attr) { string plusStr = "+"; //0攻击 double temp = attr.ATK; _originAttrValues[0].text = EB.StringUtil.Format("{0}{1}", plusStr, Mathf.FloorToInt((float)temp)); _equppedAttrValues[0] = temp; //1暴击 temp = (attr.CritP + attr.SuitAttr.CritP) * 100; _originAttrValues[1].text = EB.StringUtil.Format("{0}{1}%", plusStr, Mathf.FloorToInt((float)temp)); _equppedAttrValues[1] = temp; //2攻击加成 temp = (attr.ATKrate + attr.SuitAttr.ATKrate) * 100; _originAttrValues[2].text = EB.StringUtil.Format("{0}{1}%", plusStr, Mathf.FloorToInt((float)temp)); _equppedAttrValues[2] = temp; //3暴击伤害 temp = (attr.CritV + attr.SuitAttr.CritV) * 100; _originAttrValues[3].text = EB.StringUtil.Format("{0}{1}%", plusStr, Mathf.FloorToInt((float)temp)); _equppedAttrValues[3] = temp; //4生命 temp = attr.MaxHP; _originAttrValues[4].text = EB.StringUtil.Format("{0}{1}", plusStr, Mathf.FloorToInt((float)temp)); _equppedAttrValues[4] = temp; //5效果命中 temp = (attr.SpExtra + attr.SuitAttr.SpExtra) * 100; _originAttrValues[5].text = EB.StringUtil.Format("{0}{1}%", plusStr, Mathf.FloorToInt((float)temp)); _equppedAttrValues[5] = temp; //6生命加成 temp = (attr.MaxHPrate + attr.SuitAttr.MaxHPrate) * 100; _originAttrValues[6].text = EB.StringUtil.Format("{0}{1}%", plusStr, Mathf.FloorToInt((float)temp)); _equppedAttrValues[6] = temp; //7效果抵抗 temp = (attr.SpRes + attr.SuitAttr.SpRes) * 100; _originAttrValues[7].text = EB.StringUtil.Format("{0}{1}%", plusStr, Mathf.FloorToInt((float)temp)); _equppedAttrValues[7] = temp; //8防御 temp = attr.DEF; _originAttrValues[8].text = EB.StringUtil.Format("{0}{1}", plusStr, Mathf.FloorToInt((float)temp)); _equppedAttrValues[8] = temp; //9速度 temp = (attr.Speedrate + attr.SuitAttr.Speedrate) * 100; _originAttrValues[9].text = EB.StringUtil.Format("{0}{1}%", plusStr, Mathf.FloorToInt((float)temp)); _equppedAttrValues[9] = temp; //10防御加成 temp = (attr.DEFrate + attr.SuitAttr.DEFrate) * 100; _originAttrValues[10].text = EB.StringUtil.Format("{0}{1}%", plusStr, Mathf.FloorToInt((float)temp)); _equppedAttrValues[10] = temp; }
/// <summary>[伙伴最终绿字属性]</summary> public static LTAttributesData GetPartnerEquipmentAttributes(LTAttributesData baseAttr, HeroEquipmentTotleAttr attr, SuitAttrAdditions AllBuffSuitAttr = null) { //********伙伴最终绿字计算********* //伙伴最终绿字属性 = 装备加成固定数值 + 伙伴基础白字属性 * [装备加成% + 全军装备加成%(不显示在面板)] //***************************** LTAttributesData attrData = new LTAttributesData(); attrData.m_MaxHP = attr.MaxHP + baseAttr.m_MaxHP * (attr.MaxHPrate + attr.SuitAttr.MaxHPrate + (AllBuffSuitAttr != null ? AllBuffSuitAttr.MaxHPrate : 0f)); attrData.m_ATK = attr.ATK + baseAttr.m_ATK * (attr.ATKrate + attr.SuitAttr.ATKrate + (AllBuffSuitAttr != null ? AllBuffSuitAttr.ATKrate : 0f)); attrData.m_DEF = attr.DEF + baseAttr.m_DEF * (attr.DEFrate + attr.SuitAttr.DEFrate + (AllBuffSuitAttr != null ? AllBuffSuitAttr.DEFrate : 0f)); attrData.m_Speed = attr.Speed + baseAttr.m_Speed * (attr.Speedrate + attr.SuitAttr.Speedrate + (AllBuffSuitAttr != null ? AllBuffSuitAttr.Speedrate : 0f)); attrData.m_CritP = attr.CritP + attr.SuitAttr.CritP + (AllBuffSuitAttr != null ? AllBuffSuitAttr.CritP : 0f); attrData.m_CritV = attr.CritV + attr.SuitAttr.CritV + (AllBuffSuitAttr != null ? AllBuffSuitAttr.CritV : 0f); attrData.m_SpExtra = attr.SpExtra + attr.SuitAttr.SpExtra + (AllBuffSuitAttr != null ? AllBuffSuitAttr.SpExtra : 0f); attrData.m_SpRes = attr.SpRes + attr.SuitAttr.SpRes + (AllBuffSuitAttr != null ? AllBuffSuitAttr.SpRes : 0f); return(attrData); }
public void Refresh() { _showCompareInfo = !_isEditing && _equipmentPresetController.EquippedPresetItem != null && _equipmentPresetController.EquippedPresetItem != _equipmentPresetController.CurrentEquipmentPresetItem; CurrentEquipmentTotalAttr = new HeroEquipmentTotleAttr(); if (_showCompareInfo) { ShowEquippedInfo(_equipmentPresetController.EquippedPresetItem.KVP.Value.eids); } //为了显示套装特效,这里需提前把数据归拢 for (int i = 0; i < Eids.Length; i++) { int eid = Eids[i]; if (eid != 0) { DetailedEquipmentInfo info = LTPartnerEquipDataManager.Instance.GetEquipmentInfoByEID(eid); if (info != null) { CurrentEquipmentTotalAttr.AddSuitInfo(info); } } } for (int i = 0; i < Eids.Length; i++) { int eid = Eids[i]; if (eid == 0) { _equipInfoCells[i].Fill(null); } else { DetailedEquipmentInfo info = LTPartnerEquipDataManager.Instance.GetEquipmentInfoByEID(eid); if (info == null) { EB.Debug.LogError("LTPartnerEquipmentInfoController.Show info is null, Eid = {0}", eid); continue; } _equipInfoCells[i].Fill(info); } } TypeSelect(); if (mDMono.gameObject.activeSelf) { StartCoroutine(ChangeCurrentAttrColor(isChangeColor)); } for (int i = 0; i < CurrentEquipmentTotalAttr.SuitList.Count; i++) { Data.SuitTypeInfo info = Data.EconemyTemplateManager.Instance.GetSuitTypeInfoByEcidSuitType(CurrentEquipmentTotalAttr.SuitList[i].SuitType); if (CurrentEquipmentTotalAttr.SuitList[i].SuitType == isSuitTypeShow) { if (CurrentEquipmentTotalAttr.SuitList[i].count == 4 && isSuitTextShow && info.SuitAttr4 != 0 || CurrentEquipmentTotalAttr.SuitList[i].count == 2 && isSuitTextShow && info.SuitAttr2 != 0) { for (int j = 0; j < _rightSuitFxTweeners.Length; ++j) { _rightSuitFxTweeners[j].tweenFactor = 0; _rightSuitFxTweeners[j].PlayForward(); } StartCoroutine(PlayShowSuitItem()); } } } ShowCurrentSuitView(CurrentEquipmentTotalAttr.SuitList); isSuitTextShow = false; isChangeColor = false; ShowCompareInfo(_showCompareInfo); }
public void Show(LTPartnerData Data) { if (Data == null) { return; } m_Data = Data; HeroQualityIcon.spriteName = LTPartnerConfig.PARTNER_GRADE_SPRITE_NAME_DIC[(PartnerGrade)Data.HeroInfo.role_grade]; HeroNameLabel.text = Data.HeroInfo.name; PartnerInfoItem.Clean(); PartnerInfoItem.Fill(Data); for (int i = 0; i < 6; i++) { int Eid = Data.GetEquipmentsInfo(i).Eid; if (Eid == 0) { EquipmentCell[i].Fill(null); } else { DetailedEquipmentInfo info = LTPartnerEquipDataManager.Instance.GetEquipmentInfoByEID(Eid); if (info == null) { EB.Debug.LogError("LTPartnerEquipPartnerInfoController.Show info is null,Eid = {0}", Eid); continue; } EquipmentCell[i].Fill(info); } } TypeSelect(); LTAttributesData attrData = AttributesUtil.GetBaseAttributes(Data); HeroEquipmentTotleAttr E_Attr = Data.EquipmentTotleAttr; if (mDMono.gameObject.activeSelf) { StartCoroutine(ColorAttrShow(isChangeColor)); } for (int k = 0; k < E_Attr.SuitList.Count; k++) { Hotfix_LT.Data.SuitTypeInfo info = Hotfix_LT.Data.EconemyTemplateManager.Instance.GetSuitTypeInfoByEcidSuitType(E_Attr.SuitList[k].SuitType); if (E_Attr.SuitList[k].SuitType == isSuitTypeShow) { if (E_Attr.SuitList[k].count == 4 && isSuitTextShow && info.SuitAttr4 != 0 || E_Attr.SuitList[k].count == 2 && isSuitTextShow && info.SuitAttr2 != 0) { UITweener[] tweeners = SuitFxObj.GetComponents <UITweener>(); for (int j = 0; j < tweeners.Length; ++j) { tweeners[j].tweenFactor = 0; tweeners[j].PlayForward(); } StartCoroutine(PlayShowSuitItem()); } } } SuitViewShow(E_Attr.SuitList); isSuitTextShow = false; isChangeColor = false; }
public void ShowAttr() { LTAttributesData attrData = AttributesUtil.GetBaseAttributes(m_Data); HeroEquipmentTotleAttr E_Attr = m_Data.EquipmentTotleAttr; string plusStr = (E_Attr.ATK + E_Attr.ATKrate + E_Attr.SuitAttr.ATKrate) == 0 ? "" : "+"; double Temp = (attrData.m_ATK * (E_Attr.ATKrate + E_Attr.SuitAttr.ATKrate) + E_Attr.ATK); double Value = Temp - OldE_AttrValue[0]; AttrsLabel[0].text = string.IsNullOrEmpty(plusStr) ? EB.StringUtil.Format("{0}", Mathf.FloorToInt((float)Temp)) : EB.StringUtil.Format("{0}{1}", plusStr, Mathf.FloorToInt((float)Temp));//0攻击 OldE_AttrValue[0] = Temp; plusStr = (E_Attr.DEF + E_Attr.DEFrate) == 0 ? "" : "+"; Temp = (attrData.m_DEF * (E_Attr.DEFrate + E_Attr.SuitAttr.DEFrate) + E_Attr.DEF); Value = Temp - OldE_AttrValue[1]; AttrsLabel[1].text = string.IsNullOrEmpty(plusStr) ? EB.StringUtil.Format("{0}", Mathf.FloorToInt((float)Temp)) : EB.StringUtil.Format("{0}{1}", plusStr, Mathf.FloorToInt((float)Temp));//1防御 OldE_AttrValue[1] = Temp; plusStr = (E_Attr.MaxHP + E_Attr.MaxHPrate + E_Attr.SuitAttr.MaxHPrate) == 0 ? "" : "+"; Temp = (attrData.m_MaxHP * (E_Attr.MaxHPrate + E_Attr.SuitAttr.MaxHPrate) + E_Attr.MaxHP); Value = Temp - OldE_AttrValue[2]; AttrsLabel[2].text = string.IsNullOrEmpty(plusStr) ? EB.StringUtil.Format("{0}", Mathf.FloorToInt((float)Temp)) : EB.StringUtil.Format("{0}{1}", plusStr, Mathf.FloorToInt((float)Temp));//2生命 OldE_AttrValue[2] = Temp; plusStr = (attrData.m_Speed * (E_Attr.Speedrate + E_Attr.SuitAttr.Speedrate)) == 0 ? "" : "+"; Temp = (attrData.m_Speed * (E_Attr.Speedrate + E_Attr.SuitAttr.Speedrate)); Value = Temp - OldE_AttrValue[3]; AttrsLabel[3].text = string.IsNullOrEmpty(plusStr) ? EB.StringUtil.Format("{0}", Mathf.FloorToInt((float)Temp)) : EB.StringUtil.Format("{0}{1}", plusStr, Mathf.FloorToInt((float)Temp));//3速度 OldE_AttrValue[3] = Temp; plusStr = (E_Attr.CritP + E_Attr.SuitAttr.CritP) == 0 ? "" : "+"; Temp = ((E_Attr.CritP + E_Attr.SuitAttr.CritP) * 100); Value = Temp - OldE_AttrValue[4]; AttrsLabel[4].text = string.IsNullOrEmpty(plusStr) ? EB.StringUtil.Format("{0}%", Mathf.FloorToInt((float)Temp)) : EB.StringUtil.Format("{0}{1}%", plusStr, Mathf.FloorToInt((float)Temp));//4暴击 OldE_AttrValue[4] = Temp; plusStr = (E_Attr.CritV + E_Attr.SuitAttr.CritV) == 0 ? "" : "+"; Temp = ((E_Attr.CritV + E_Attr.SuitAttr.CritV) * 100); Value = Temp - OldE_AttrValue[5]; AttrsLabel[5].text = string.IsNullOrEmpty(plusStr) ? EB.StringUtil.Format("{0}%", Mathf.FloorToInt((float)Temp)) : EB.StringUtil.Format("{0}{1}%", plusStr, Mathf.FloorToInt((float)Temp));//5暴伤 OldE_AttrValue[5] = Temp; plusStr = (E_Attr.SpExtra + E_Attr.SuitAttr.SpExtra) == 0 ? "" : "+"; Temp = ((E_Attr.SpExtra + E_Attr.SuitAttr.SpExtra) * 100); Value = Temp - OldE_AttrValue[6]; AttrsLabel[6].text = string.IsNullOrEmpty(plusStr) ? EB.StringUtil.Format("{0}%", Mathf.FloorToInt((float)Temp)) : EB.StringUtil.Format("{0}{1}%", plusStr, Mathf.FloorToInt((float)Temp));//6命中 OldE_AttrValue[6] = Temp; plusStr = (E_Attr.SpRes + E_Attr.SuitAttr.SpRes) == 0 ? "" : "+"; Temp = ((E_Attr.SpRes + E_Attr.SuitAttr.SpRes) * 100); Value = Temp - OldE_AttrValue[7]; AttrsLabel[7].text = string.IsNullOrEmpty(plusStr) ? EB.StringUtil.Format("{0}%", Mathf.FloorToInt((float)Temp)) : EB.StringUtil.Format("{0}{1}%", plusStr, Mathf.FloorToInt((float)Temp));//7抵抗 OldE_AttrValue[7] = Temp; }
public void ShowColorAttr() { LTAttributesData attrData = AttributesUtil.GetBaseAttributes(m_Data); HeroEquipmentTotleAttr E_Attr = m_Data.EquipmentTotleAttr; string plusStr = (E_Attr.ATK + E_Attr.ATKrate + E_Attr.SuitAttr.ATKrate) == 0 ? "[ffffff00]+[-]" : "+"; double Temp = (attrData.m_ATK * (E_Attr.ATKrate + E_Attr.SuitAttr.ATKrate) + E_Attr.ATK); double Value = Temp - OldE_AttrValue[0]; string colorStr = Value == 0 ? plusStr : Value < 0 ? "[ff6699]+" : "[42fe79]+"; AttrsLabel[0].text = EB.StringUtil.Format("{0}{1}", colorStr, Mathf.FloorToInt((float)Temp));//0攻击 if (Value != 0) { AttrsLabel[0].GetComponent <TweenScale>().ResetToBeginning(); AttrsLabel[0].GetComponent <TweenScale>().PlayForward(); } OldE_AttrValue[0] = Temp; plusStr = (E_Attr.DEF + E_Attr.DEFrate) == 0 ? "[ffffff00]+[-]" : "+"; Temp = (attrData.m_DEF * (E_Attr.DEFrate + E_Attr.SuitAttr.DEFrate) + E_Attr.DEF); Value = Temp - OldE_AttrValue[1]; colorStr = Value == 0 ? plusStr : Value < 0 ? "[ff6699]+" : "[42fe79]+"; AttrsLabel[1].text = EB.StringUtil.Format("{0}{1}", colorStr, Mathf.FloorToInt((float)Temp));//1防御 if (Value != 0) { AttrsLabel[1].GetComponent <TweenScale>().ResetToBeginning(); AttrsLabel[1].GetComponent <TweenScale>().PlayForward(); } OldE_AttrValue[1] = Temp; plusStr = (E_Attr.MaxHP + E_Attr.MaxHPrate + E_Attr.SuitAttr.MaxHPrate) == 0 ? "[ffffff00]+[-]" : "+"; Temp = (attrData.m_MaxHP * (E_Attr.MaxHPrate + E_Attr.SuitAttr.MaxHPrate) + E_Attr.MaxHP); Value = Temp - OldE_AttrValue[2]; colorStr = Value == 0 ? plusStr : Value < 0 ? "[ff6699]+" : "[42fe79]+"; AttrsLabel[2].text = EB.StringUtil.Format("{0}{1}", colorStr, Mathf.FloorToInt((float)Temp));//2生命 if (Value != 0) { AttrsLabel[2].GetComponent <TweenScale>().ResetToBeginning(); AttrsLabel[2].GetComponent <TweenScale>().PlayForward(); } OldE_AttrValue[2] = Temp; plusStr = (attrData.m_Speed * (E_Attr.Speedrate + E_Attr.SuitAttr.Speedrate)) == 0 ? "[ffffff00]+[-]" : "+"; Temp = (attrData.m_Speed * (E_Attr.Speedrate + E_Attr.SuitAttr.Speedrate)); Value = Temp - OldE_AttrValue[3]; colorStr = Value == 0 ? plusStr : Value < 0 ? "[ff6699]+" : "[42fe79]+"; AttrsLabel[3].text = EB.StringUtil.Format("{0}{1}", colorStr, Mathf.FloorToInt((float)Temp));//3速度 if (Value != 0) { AttrsLabel[3].GetComponent <TweenScale>().ResetToBeginning(); AttrsLabel[3].GetComponent <TweenScale>().PlayForward(); } OldE_AttrValue[3] = Temp; plusStr = (E_Attr.CritP + E_Attr.SuitAttr.CritP) == 0 ? "[ffffff00]+[-]" : "+"; Temp = ((E_Attr.CritP + E_Attr.SuitAttr.CritP) * 100); Value = Temp - OldE_AttrValue[4]; colorStr = Value == 0 ? plusStr : Value < 0 ? "[ff6699]+" : "[42fe79]+"; AttrsLabel[4].text = EB.StringUtil.Format("{0}{1}%", colorStr, Mathf.FloorToInt((float)Temp));//4暴击 if (Value != 0) { AttrsLabel[4].GetComponent <TweenScale>().ResetToBeginning(); AttrsLabel[4].GetComponent <TweenScale>().PlayForward(); } OldE_AttrValue[4] = Temp; plusStr = (E_Attr.CritV + E_Attr.SuitAttr.CritV) == 0 ? "[ffffff00]+[-]" : "+"; Temp = ((E_Attr.CritV + E_Attr.SuitAttr.CritV) * 100); Value = Temp - OldE_AttrValue[5]; colorStr = Value == 0 ? plusStr : Value < 0 ? "[ff6699]+" : "[42fe79]+"; AttrsLabel[5].text = EB.StringUtil.Format("{0}{1}%", colorStr, Mathf.FloorToInt((float)Temp));//5暴伤 if (Value != 0) { AttrsLabel[5].GetComponent <TweenScale>().ResetToBeginning(); AttrsLabel[5].GetComponent <TweenScale>().PlayForward(); } OldE_AttrValue[5] = Temp; plusStr = (E_Attr.SpExtra + E_Attr.SuitAttr.SpExtra) == 0 ? "[ffffff00]+[-]" : "+"; Temp = ((E_Attr.SpExtra + E_Attr.SuitAttr.SpExtra) * 100); Value = Temp - OldE_AttrValue[6]; colorStr = Value == 0 ? plusStr : Value < 0 ? "[ff6699]+" : "[42fe79]+"; AttrsLabel[6].text = EB.StringUtil.Format("{0}{1}%", colorStr, Mathf.FloorToInt((float)Temp));//6命中 if (Value != 0) { AttrsLabel[6].GetComponent <TweenScale>().ResetToBeginning(); AttrsLabel[6].GetComponent <TweenScale>().PlayForward(); } OldE_AttrValue[6] = Temp; plusStr = (E_Attr.SpRes + E_Attr.SuitAttr.SpRes) == 0 ? "[ffffff00]+[-]" : "+"; Temp = ((/*attrData.m_SpRes +*/ E_Attr.SpRes + E_Attr.SuitAttr.SpRes) * 100); Value = Temp - OldE_AttrValue[7]; colorStr = Value == 0 ? plusStr : Value < 0 ? "[ff6699]+" : "[42fe79]+"; AttrsLabel[7].text = EB.StringUtil.Format("{0}{1}%", colorStr, Mathf.FloorToInt((float)Temp));//7抵抗 if (Value != 0) { AttrsLabel[7].GetComponent <TweenScale>().ResetToBeginning(); AttrsLabel[7].GetComponent <TweenScale>().PlayForward(); } OldE_AttrValue[7] = Temp; }
public void SetData(bool isEquipped, KeyValuePair <string, EquipmentPresetModel> kvp) { KVP = kvp; SetName(kvp.Key); SetEquipped(isEquipped); SetHighlight(isEquipped); var attr = new HeroEquipmentTotleAttr(); for (int i = 0; i < kvp.Value.eids.Length; i++) { int eid = kvp.Value.eids[i]; if (eid != 0) { DetailedEquipmentInfo info = LTPartnerEquipDataManager.Instance.GetEquipmentInfoByEID(eid); if (info == null) { continue; } attr.AddSuitInfo(info); } } SuitAttrsSuitTypeAndCount data = null; int twoPieceSuitCount = 0; for (int i = 0; i < attr.SuitList.Count; i++) { if (data == null) { data = attr.SuitList[i]; } else if (attr.SuitList[i].count > data.count) { data = attr.SuitList[i]; } if (data.count >= 2) { twoPieceSuitCount += 1; } } var suitTypeInfo = data != null?Data.EconemyTemplateManager.Instance.GetSuitTypeInfoByEcidSuitType(data.SuitType) : null; if (data != null && data.count >= 4 && suitTypeInfo != null && suitTypeInfo.SuitAttr4 != 0) { SetIcon(suitTypeInfo.SuitIcon); } else if (twoPieceSuitCount == 1 && data != null && data.count >= 2 && suitTypeInfo != null && suitTypeInfo.SuitAttr2 != 0) { SetIcon(suitTypeInfo.SuitIcon); } else { SetIcon("Equipment_Icon_Taozhuang"); } }