public void Bind(int rRelationShip, bool rIsLock, ItemAttachAttr rAttr) { Util.SetText(relationShip, ConfigText.GetDefalutString(169, rRelationShip)); isLock.SafeSetActive(rIsLock); Bind(rAttr); SetColor(rIsLock); }
private void RefreshRight(PetInfo rInfo) { var gradeInfo = rInfo.GetUpGradeInfo(rInfo.Grade + 1); var star = rInfo.GetStar(rInfo.Grade + 1); Util.SetText(rightGradeText, gradeInfo?.CombineGradeName(star)); SetStar(rightStarGroup, star); Util.ClearChildren(rightAttr); //创建属性条 var prevList = rInfo.Attribute; var showList = rInfo.GetAttribute(rInfo.Level, rInfo.Grade + 1); for (var i = 0; i < showList.Count; i++) { var t = rightAttr.AddNewChild(rightAttrTemp); t.SafeSetActive(true); var change = new ItemAttachAttr() { id = showList[i].id, type = showList[i].type, value = AttributeShowHelper.ValueForShow(showList[i].id, showList[i].value) - AttributeShowHelper.ValueForShow(prevList[i].id, prevList[i].value) }; BindProperty(t, showList[i], change); } }
public static string ValueString(this ItemAttachAttr rAttr) { if (rAttr == null) { return(string.Empty); } return(ValueForShowString(rAttr.id, rAttr.value, rAttr.type == 2)); }
public static string TypeString(this ItemAttachAttr rAttr) { if (rAttr == null) { return(string.Empty); } return(TypeString(rAttr.id)); }
private void BindProperty(Transform t, ItemAttachAttr show, ItemAttachAttr change = null) { Util.SetText(t.GetComponent <Text>("value"), show.ValueString()); Util.SetText(t.GetComponent <Text>("type"), show.TypeString()); var c = t.GetComponent <Text>("value/change"); if (change != null) { Util.SetText(c, $"【+{change.ValueString()}】"); } var isMax = petSelectModule.selectInfo.IsEvolveMax(); c.SafeSetActive(!isMax); t.GetComponent <Transform>("value/max").SafeSetActive(isMax); }
public List <ItemAttachAttr> GetAttribute(int rLevel, int rGrade) { var petAttr = ConfigManager.Get <PetAttributeInfo>(ID); if (null == petAttr || petAttr.PetAttributes == null) { return(null); } var growList = new List <ItemAttachAttr>(); for (int i = 0, iMax = petAttr.PetAttributes.Length; i < iMax && petAttr.PetAttributes[i].level <= rLevel; i++) { growList.AddRange(petAttr.PetAttributes[i].attributes); } var infos = ConfigManager.Get <PetUpGradeInfo>(ID); for (int i = 0, iMax = infos.upGradeInfos.Length; i < iMax && infos.upGradeInfos[i].level <= rGrade; i++) { growList.AddRange(infos.upGradeInfos[i].attributes); } //从基础数据上拷贝一个列表出来。不要修改基础属性 var res = new List <ItemAttachAttr>(); for (var i = 0; i < CPetInfo.attributes.Length; i++) { var att = CPetInfo.attributes[i]; var a = new ItemAttachAttr { id = att.id, type = att.type, value = att.value }; foreach (var attr in growList) { a += att.CalcGrow(attr); } res.Add(a); } return(res); }
private List <AttributePreviewDetail> GetAttributeDetails(EvolveEquipInfo info) { var list = new List <AttributePreviewDetail>(); if (info.attributes == null) { return(list); } foreach (var item in info.attributes) { //获取道具的初始属性 var originalAttri = PropItemInfo.GetBaseAttribute(itemInfo, item.id); //计算属性(百分比或者累加) var value = ItemAttachAttr.CalculateAttributeValue(originalAttri, item); if (!ContainSameAttirbutePreview(list, item.id)) { double oldValue = data.GetFixedAttirbute(item.id); if (oldValue == 0 && value == 0) { continue; } var de = new AttributePreviewDetail(item.id); de.oldValue = oldValue; //must before set newValue de.FixPercentAttribute(); de.newValue = de.oldValue + value; list.Add(de); } else { var de = list.Find(o => o.id == item.id); de.newValue += value; } } return(list); }
private void RefreshRightAttribute(List <ItemAttachAttr> showList, List <ItemAttachAttr> left) { foreach (var kv in cache) { var afs = showList.Find(item => item.id == (ushort)kv.Key); var leftAfs = left.Find(item => item.id == (ushort)kv.Key); if (leftAfs == null) { BindPropertyRight(kv.Value, afs, afs); } else { var change = new ItemAttachAttr { id = afs.id, type = afs.type, value = AttributeShowHelper.ValueForShow(afs.id, afs.value, afs.type == 2) - AttributeShowHelper.ValueForShow(leftAfs.id, leftAfs.value, leftAfs.type == 2) }; BindPropertyRight(kv.Value, afs, change); } } }
private void BindPropertyRight(Transform t, ItemAttachAttr show, ItemAttachAttr change) { Util.SetText(t.GetComponent <Text>("attr_txt_03"), show != null ? show.ValueString() : "0"); Util.SetText(t.GetComponent <Text>("attr_txt_03/attr_txt_04"), $"【+{change.ValueString()}】"); Util.SetText(t.GetComponent <Text>("attr_txt_01"), show != null ? show.TypeString() : ""); }
private void BindPropertyLeft(Transform t, ItemAttachAttr show) { Util.SetText(t.GetComponent <Text>("attr_txt_02"), show != null ? show.ValueString() :"0"); Util.SetText(t.GetComponent <Text>("attr_txt_01"), show != null ? show.TypeString() : ""); }
public virtual void Bind(ItemAttachAttr rAttr) { Util.SetText(name, rAttr.TypeString()); Util.SetText(value, rAttr.ValueString()); }
public static string ShowString(this ItemAttachAttr rAttr) { return($"{rAttr.TypeString()}+{rAttr.ValueString()}"); }
private List <AttributePreviewDetail> GetAttributePreview() { var list = new List <AttributePreviewDetail>(); //add preview attirbute change if (m_previewIntentifyInfo != null) { List <IntentifyEquipInfo> allIntents = moduleEquip.GetGetIntentifyInfos(equipType, data.GetIntentyLevel(), m_previewIntentifyInfo.level); foreach (var item in allIntents) { if (item.attributes == null) { continue; } foreach (var attri in item.attributes) { //获取道具的初始属性 var originalAttri = PropItemInfo.GetBaseAttribute(itemInfo, attri.id); //计算属性(百分比或者累加) var value = m_previewIntentifyInfo.level == data.GetIntentyLevel() ? 0 : ItemAttachAttr.CalculateAttributeValue(originalAttri, attri); //未包含就把初始值填充进去 if (!ContainSameAttirbutePreview(list, attri.id)) { double oldValue = data.GetFixedAttirbute(attri.id); if (oldValue <= 0 && value <= 0) { continue; } var de = new AttributePreviewDetail(attri.id); de.oldValue = oldValue; //must before set newValue de.FixPercentAttribute(); de.newValue = de.oldValue + value; list.Add(de); } //已经添加了就开始操作缓存 else { var d = list.Find(o => o.id == attri.id); d.newValue += value; } } } } //添加初始化属性 else { if (data.GetIntentyLevel() > 0 && !data.InvalidGrowAttr()) { PItemAttachAttr[] attris = data.growAttr.equipAttr.fixedAttrs; foreach (var item in attris) { if (item.type == 2) { continue; } var de = new AttributePreviewDetail(item.id); de.oldValue = item.value; de.newValue = item.value; de.FixPercentAttribute(); list.Add(de); } } else { PropItemInfo info = data.GetPropItem(); if (info && info.attributes != null) { foreach (var item in info.attributes) { if (item.type == 2) { continue; } var de = new AttributePreviewDetail(item.id); de.oldValue = item.value; de.newValue = item.value; de.FixPercentAttribute(); list.Add(de); } } } } return(list); }