//刷新翅膀总属性 public void RefresWholeAttribute() { var dicAttr = new Dictionary <int, int>(); var attrs = new ObservableCollection <AttributeBaseDataModel>(); var tbWing = Table.GetWingQuality(DataModel.ItemData.ItemId); if (tbWing == null) { return; } PlayerAttr.FillWingAdvanceAttr(dicAttr, DataModel.ItemData); //培养属性 for (var i = 0; i != 5; ++i) { var tbWingTrain = Table.GetWingTrain(DataModel.ItemData.ExtraData[1 + i * 2]); if (tbWingTrain == null) { continue; } for (var j = 0; j != tbWingTrain.AddPropID.Length; ++j) { var nAttrId = tbWingTrain.AddPropID[j]; var nValue = tbWingTrain.AddPropValue[j]; if (nAttrId < 0 || nValue <= 0) { break; } if (nValue > 0 && nAttrId != -1) { if (nAttrId == 105) { if (dicAttr.ContainsKey(5)) { dicAttr.modifyValue(5, nValue); } if (dicAttr.ContainsKey(6)) { dicAttr.modifyValue(6, nValue); } if (dicAttr.ContainsKey(7)) { dicAttr.modifyValue(7, nValue); } if (dicAttr.ContainsKey(8)) { dicAttr.modifyValue(8, nValue); } } else { dicAttr.modifyValue(nAttrId, nValue); } } } } //翅膀战力 DataModel.Fightforce = PlayerDataManager.Instance.GetAttrFightPoint(dicAttr); { // foreach(var i in dicAttr) var __enumerator1 = (dicAttr).GetEnumerator(); while (__enumerator1.MoveNext()) { var i = __enumerator1.Current; { var attr = new AttributeBaseDataModel(); attr.Type = i.Key; attr.Value = i.Value; attr.Value = FixAttributeValue(i.Key, attr.Value); attrs.Add(attr); } } } DataModel.WholeAttributes = attrs; }
public void RefreshData(UIInitArguments data) { var arg = data as WingInfogArguments; if (arg == null) { return; } var itemData = arg.ItemData; DataModel.ItemId = itemData.ItemId; var tbItem = Table.GetItemBase(itemData.ItemId); if (tbItem == null) { return; } var dicAttr = new Dictionary <int, int>(); var attrs = new List <AttributeBaseDataModel>(); var tbWing = Table.GetWingQuality(itemData.ItemId); //基础属性 for (var i = 0; i != tbWing.AddPropID.Length; ++i) { var nAttrId = tbWing.AddPropID[i]; if (nAttrId < 0) { break; } var nValue = tbWing.AddPropValue[i]; if (nValue > 0 && nAttrId != -1) { dicAttr.modifyValue(nAttrId, nValue); } } //培养属性 for (var i = 0; i != 5; ++i) { var tbWingTrain = Table.GetWingTrain(itemData.Exdata[1 + i * 2]); if (tbWingTrain == null) { continue; } for (var j = 0; j != tbWingTrain.AddPropID.Length; ++j) { var nAttrId = tbWingTrain.AddPropID[j]; var nValue = tbWingTrain.AddPropValue[j]; if (nAttrId < 0 || nValue <= 0) { break; } if (nValue > 0 && nAttrId != -1) { if (nAttrId == 105) { if (dicAttr.ContainsKey(5)) { dicAttr.modifyValue(5, nValue); } if (dicAttr.ContainsKey(6)) { dicAttr.modifyValue(6, nValue); } if (dicAttr.ContainsKey(7)) { dicAttr.modifyValue(7, nValue); } if (dicAttr.ContainsKey(8)) { dicAttr.modifyValue(8, nValue); } } else { dicAttr.modifyValue(nAttrId, nValue); } } } } DataModel.FightPoint = PlayerDataManager.Instance.GetAttrFightPoint(dicAttr, arg.CharLevel); { // foreach(var i in dicAttr) var __enumerator1 = (dicAttr).GetEnumerator(); while (__enumerator1.MoveNext()) { var i = __enumerator1.Current; { var attr = new AttributeBaseDataModel(); attr.Type = i.Key; attr.Value = i.Value; attr.Value = FixAttributeValue(i.Key, attr.Value); attrs.Add(attr); } } } //{0}:+{1} var strDic230025 = GameUtils.GetDictionaryText(230025); //{0}:{1}-{2} var strDic230033 = GameUtils.GetDictionaryText(230033); for (var i = 0; i < attrs.Count; i++) { var attr = attrs[i]; var attrType = attr.Type; var attrName = GameUtils.AttributeName(attrType); var attrValue = GameUtils.AttributeValue(attrType, attr.Value); var str = ""; if (attr.ValueEx == 0) { str = string.Format(strDic230025, attrName, attrValue); } else { var attrValueEx = GameUtils.AttributeValue(attrType, attr.ValueEx); str = string.Format(strDic230033, attrName, attrValue, attrValueEx); } DataModel.AttrStr[i] = str; } for (var i = attrs.Count; i < 15; i++) { DataModel.AttrStr[i] = ""; } var role = tbItem.OccupationLimit; if (role != -1) { var tbCharacter = Table.GetCharacterBase(role); var roleType = PlayerDataManager.Instance.GetRoleId(); if (tbCharacter != null) { if (roleType != role) { DataModel.ProfessionColor = MColor.red; } else { DataModel.ProfessionColor = MColor.green; } DataModel.ProfessionLimit = tbCharacter.Name; } } else { DataModel.ProfessionLimit = GameUtils.GetDictionaryText(220700); DataModel.ProfessionColor = MColor.green; } var tbEquip = Table.GetEquipBase(tbItem.Exdata[0]); if (tbEquip == null) { return; } var strDic = GameUtils.GetDictionaryText(230004); DataModel.PhaseDesc = string.Format(strDic, GameUtils.NumEntoCh(tbEquip.Ladder)); }
public List <AttributeBaseDataModel> StatisticEquipAttribute(Dictionary <int, int> attributes, BagItemDataModel equipData, BagItemDataModel equipData1 = null) { var itemAttr = PlayerDataManager.Instance.GetEquipAttributeFix(equipData, mCharacterLevel); if (equipData1 != null) { var itemAttr1 = PlayerDataManager.Instance.GetEquipAttributeFix(equipData1, mCharacterLevel); { // foreach(var i in itemAttr1) var __enumerator1 = (itemAttr1).GetEnumerator(); while (__enumerator1.MoveNext()) { var i = __enumerator1.Current; { itemAttr.modifyValue(i.Key, i.Value); } } } } var roleId = PlayerDataManager.Instance.GetRoleId(); var newAttrChg = new ObservableCollection <AttributeBaseDataModel>(); { // foreach(var i in attributes) var __enumerator2 = (attributes).GetEnumerator(); while (__enumerator2.MoveNext()) { var i = __enumerator2.Current; { if ((roleId == 0 || roleId == 2) && (i.Key == 7 || i.Key == 8)) { continue; } if (roleId == 1 && (i.Key == 5 || i.Key == 6)) { continue; } var find = false; { // foreach(var j in itemAttr) var __enumerator6 = (itemAttr).GetEnumerator(); while (__enumerator6.MoveNext()) { var j = __enumerator6.Current; { if (i.Key == j.Key) { find = true; if (j.Value - i.Value != 0) { var info = new AttributeBaseDataModel(); info.Type = j.Key; info.Value = GameUtils.EquipAttrValueRefEx(j.Key, i.Value - j.Value); //info.Value = i.Value - j.Value; newAttrChg.Add(info); } } } } } if (!find) { var info = new AttributeBaseDataModel(); info.Type = i.Key; info.Value = GameUtils.EquipAttrValueRefEx(i.Key, i.Value); newAttrChg.Add(info); } } } } { // foreach(var i in itemAttr) var __enumerator3 = (itemAttr).GetEnumerator(); while (__enumerator3.MoveNext()) { var i = __enumerator3.Current; { if ((roleId == 0 || roleId == 2) && (i.Key == 7 || i.Key == 8)) { continue; } if (roleId == 1 && (i.Key == 5 || i.Key == 6)) { continue; } var find = false; { // foreach(var j in attributes) var __enumerator7 = (attributes).GetEnumerator(); while (__enumerator7.MoveNext()) { var j = __enumerator7.Current; { if (i.Key == j.Key) { find = true; } } } } if (!find) { var info = new AttributeBaseDataModel(); info.Type = i.Key; info.Value = GameUtils.EquipAttrValueRefEx(i.Key, -i.Value); //info.Value = -i.Value; newAttrChg.Add(info); } } } } var newOrderAttrChg = newAttrChg.Where(info => info.Value > 0).ToList(); newOrderAttrChg.AddRange(newAttrChg.Where(info => info.Value < 0)); return(newOrderAttrChg); }