public void TryUpStarEquip(XEquip equip) { if (EquipModule.Instance.IsFullStarLevel(equip)) { GTItemHelper.ShowTip("装备星级已满"); return; } DEquip equipDB = ReadCfgEquip.GetDataById(equip.Id); int starID = equipDB.Quality * 1000 + equip.StarLevel + 1; DEquipStar db = ReadCfgEquipStar.GetDataById(starID); if (!GTItemHelper.CheckItemEnongh(db.CostMoneyId, db.CostMoneyNum)) { return; } if (!GTItemHelper.CheckItemEnongh(db.CostItemId, db.CostItemNum)) { return; } ReqUpStarEquip req = new ReqUpStarEquip(); req.TarEquip = equip; NetworkManager.Instance.Send <ReqUpStarEquip>(MessageID.MSG_REQ_UPSTAR_EQUIP, req); }
static void CalcEquipStarLevel(Dictionary <EAttr, int> dict, XEquip equip) { int lv = equip.StarLevel; DEquip equipDB = ReadCfgEquip.GetDataById(equip.Id); DEquipStar starDB = ReadCfgEquipStar.GetDataById(equipDB.Quality * 1000 + lv); float percent = 1; if (starDB != null) { percent = starDB.Percent / 100f + 1; } dict[EAttr.HP] = (int)(dict[EAttr.HP] * percent); dict[EAttr.AP] = (int)(dict[EAttr.AP] * percent); dict[EAttr.DF] = (int)(dict[EAttr.DF] * percent); }
private void OnAck_UpStarEquip(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); AckUpStarEquip ack = Serializer.Deserialize <AckUpStarEquip>(ms); XEquip equip = ack.TarEquip; DEquip cfg = ReadCfgEquip.GetDataById(equip.Id); int starID = cfg.Quality * 1000 + equip.StarLevel + 1; DEquipStar db = ReadCfgEquipStar.GetDataById(starID); GTDataManager.Instance.UseMoney(db.CostMoneyId, db.CostMoneyNum); GTDataManager.Instance.UseItemById(db.CostItemId, db.CostItemNum); equip.StarLevel++; DataDBSEquip.Update(equip.Instance, equip); CharacterManager.Instance.SyncMainPlayerData(ESyncDataType.TYPE_BASEATTR); GTEventCenter.FireEvent(GTEventID.TYPE_UPSTAR_EQUIP); GTEventCenter.FireEvent(GTEventID.TYPE_CHANGE_FIGHTVALUE); }
public static void ShowEquipStarText(UILabel label, int equipID, int starLevel, bool showAll = true) { if (label == null) { return; } label.text = string.Empty; DEquip equipDB = ReadCfgEquip.GetDataById(equipID); if (showAll) { for (int i = 0; i < 5; i++) { int lv = i + 1; DEquipStar starDB = ReadCfgEquipStar.GetDataById(equipDB.Quality * 1000 + lv); float percent = starDB == null ? 0 : starDB.Percent; string desc = GTTools.Format("生命、攻击和防御+{0}%", percent); string v = string.Empty; if (starLevel >= lv) { v = GTTools.Format("[00ff00]{0}[-]", desc); } else { v = GTTools.Format("[777777]{0} (升星至{1}级生效)[-]", desc, lv); } label.Append(v); } } else { DEquipStar starDB = ReadCfgEquipStar.GetDataById(equipDB.Quality * 1000 + starLevel); string format = "{0}提高 [00ff00]{1}[-] %"; float percent = starDB == null ? 0 : starDB.Percent; label.Append(GTTools.Format(format, "生命", percent)); label.Append(GTTools.Format(format, "攻击", percent)); label.Append(GTTools.Format(format, "防御", percent)); } }
private void ShowEquipStarView() { XEquip equip = GTDataManager.Instance.GetEquipDataByPos(mPosType, mPos); if (equip == null) { return; } int itemID = equip.Id; if (EquipModule.Instance.IsFullAdvanceLevel(equip) == true) { return; } GTItemHelper.ShowItemTexture(mEquipStar.nowEquipTexture, itemID); GTItemHelper.ShowItemQuality(mEquipStar.nowEquipQuality, itemID); GTItemHelper.ShowItemName(mEquipStar.nowEquipName, itemID); GTItemHelper.ShowItemTexture(mEquipStar.nexEquipTexture, itemID); GTItemHelper.ShowItemQuality(mEquipStar.nexEquipQuality, itemID); GTItemHelper.ShowItemName(mEquipStar.nexEquipName, itemID); GTItemHelper.ShowStarNum(mEquipStar.nowEquipStars, equip.StarLevel); GTItemHelper.ShowStarNum(mEquipStar.nexEquipStars, equip.StarLevel + 1); DEquip equipDB = ReadCfgEquip.GetDataById(equip.Id); DEquipStar nexStarDB = ReadCfgEquipStar.GetDataById(equipDB.Quality * 1000 + equip.StarLevel + 1); int hasItemNum = GTDataManager.Instance.GetItemCountById(nexStarDB.CostItemId); GTItemHelper.ShowItemTexture(mEquipStar.costItemTexture, nexStarDB.CostItemId); GTItemHelper.ShowItemQuality(mEquipStar.costItemQuality, nexStarDB.CostItemId); GTItemHelper.ShowPriceText(mEquipStar.costItemNum, hasItemNum, nexStarDB.CostItemNum); GTItemHelper.ShowItemTexture(mEquipStar.costMoneyTexture, nexStarDB.CostMoneyId); mEquipStar.costMoneyNum.text = nexStarDB.CostMoneyNum.ToString(); GTItemHelper.ShowEquipStarText(mEquipStar.starText, itemID, equip.StarLevel); GTItemHelper.ShowEquipStarText(mEquipStar.nowEquipPropertys, itemID, equip.StarLevel, false); GTItemHelper.ShowEquipStarText(mEquipStar.nexEquipPropertys, itemID, equip.StarLevel + 1, false); }