private void ShowStrengthenView() { XEquip equip = GTDataManager.Instance.GetEquipDataByPos(mPosType, mPos); if (equip == null) { return; } if (EquipModule.Instance.IsFullStrengthenLevel(equip) == true) { return; } int itemID = equip.Id; GTItemHelper.ShowItemTexture(mEquipStrengthen.equipTexture, itemID); GTItemHelper.ShowItemQuality(mEquipStrengthen.equipQuality, itemID); GTItemHelper.ShowItemName(mEquipStrengthen.equipName, itemID); int costEquipNum = mStrengthenCostItems.Count; for (int i = 0; i < mEquipStrengthen.mStrengthenItems.Count; i++) { ItemStrengthen cell = mEquipStrengthen.mStrengthenItems[i]; if (i < costEquipNum) { XItem mat = mStrengthenCostItems[i]; cell.Show(true); int id = mStrengthenCostItems[i].Id; GTItemHelper.ShowItemTexture(cell.itemTexture, id); GTItemHelper.ShowItemQuality(cell.itemQuality, id); GTItemHelper.ShowItemNum(cell.itemNum, mat.Num); } else { cell.Show(false); } } DEquip equipDB = ReadCfgEquip.GetDataById(itemID); DEquipStrengLevel levelDB = ReadCfgEquipStrengLevel.GetDataById(equipDB.Quality * 1000 + equip.StrengthenLevel + 1); int addExpNum = EquipModule.Instance.GetStrengthenExpByMatList(mStrengthenCostItems); GTItemHelper.ShowItemTexture(mEquipStrengthen.costMoneyTexture, DEquip.EQUIP_STRENGTHEN_MONEY_ID_1); mEquipStrengthen.costMoneyNum.text = addExpNum.ToString(); mEquipStrengthen.equipStrengthLevel.text = GTTools.Format("强化等级 {0}", equip.StrengthenLevel); GTItemHelper.ShowProgressText(mEquipStrengthen.equipStrengthExp, equip.StrengthenExp, levelDB.RequireExp); GTItemHelper.ShowProgressSlider(mEquipStrengthen.equipStrengthExpBar, equip.StrengthenExp, levelDB.RequireExp); Dictionary <EAttr, int> propertys = AttrHelper.GetPropertys(equip); GTItemHelper.ShowEquipStrengthText(mEquipStrengthen.strengthText, itemID, equip.StrengthenLevel); GTItemHelper.ShowPropertyText(mEquipStrengthen.propertyText, propertys, true); }
private void OnAck_StrengthEquip(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); AckStrengthEquip ack = Serializer.Deserialize <AckStrengthEquip>(ms); XEquip equip = ack.TarEquip; List <XItem> list = ack.UseItems; DEquip cfg = ReadCfgEquip.GetDataById(equip.Id); int strengthenLevel = equip.StrengthenLevel; int strID = cfg.Quality * 1000 + strengthenLevel + 1; int addExpNum = EquipModule.Instance.GetStrengthenExpByMatList(list); DEquipStrengLevel db = ReadCfgEquipStrengLevel.GetDataById(strID); int expNum = db.RequireExp - equip.StrengthenExp; while (addExpNum >= expNum) { strengthenLevel++; db = ReadCfgEquipStrengLevel.GetDataById(cfg.Quality * 1000 + strengthenLevel + 1); expNum += db.RequireExp; } equip.StrengthenLevel = strengthenLevel; equip.StrengthenExp = addExpNum + db.RequireExp - expNum; DataDBSEquip.Update(equip.Instance, equip); GTDataManager.Instance.UseMoney(DEquip.EQUIP_STRENGTHEN_MONEY_ID_1, expNum); for (int i = 0; i < list.Count; i++) { XItem item = list[i]; if ((EPosType)item.PosType == EPosType.RoleMoney) { GTDataManager.Instance.UseMoney(item.Id, item.Num); } else { GTDataManager.Instance.DelBagEquip(item.Pos); } } CharacterManager.Instance.SyncMainPlayerData(ESyncDataType.TYPE_BASEATTR); GTEventCenter.FireEvent(GTEventID.TYPE_STRENGTHEN_EQUIP); GTEventCenter.FireEvent(GTEventID.TYPE_CHANGE_FIGHTVALUE); }