public void StrenWeapon() { PlayerDataModule module = ModuleManager.Instance.FindModule <PlayerDataModule>(); if (module == null) { return; } uint lv = module.GetStrenLv(); StrenTableItem mres = DataManager.StrenTable[(int)(lv + 1)] as StrenTableItem; if (mres == null) {//满级 PopTipManager.Instance.AddNewTip(StringHelper.GetString("weapon_stren_max")); return; } StrenTableItem sres = DataManager.StrenTable[(int)lv] as StrenTableItem; if (sres == null) { return; } uint stren_money = module.GetProceeds(ProceedsType.Money_Stren); if (stren_money < sres.cost) { PopTipManager.Instance.AddNewTip(StringHelper.GetString("gun_stren_money_shortage")); return; } StrenWeaponActionParam param = new StrenWeaponActionParam(); param.StrenLv = lv; param.money_stren_cost = sres.cost; Net.Instance.DoAction((int)Message.MESSAGE_ID.ID_MSG_WD_STREN_WEAPON, param); }
private void InitWeaponItemInfo() { PlayerDataModule module = ModuleManager.Instance.FindModule <PlayerDataModule>(); if (null == module) { return; } WeaponObj mData = module.GetItemByID(uiparam.itemid, PackageType.Pack_Weapon) as WeaponObj; if (null == mData) { return; } WeaponTableItem item = DataManager.WeaponTable[uiparam.itemid] as WeaponTableItem; if (null == item) { return; } ConfigTableItem configitem = DataManager.ConfigTable[item.quality] as ConfigTableItem; if (null == configitem) { return; } PromoteTableItem pres = DataManager.PromoteTable[mData.GetPromoteLv() + item.upgrade] as PromoteTableItem; if (pres == null) { GameDebug.LogError("进阶promote.txt表格无此ID=" + mData.GetPromoteLv()); return; } StrenTableItem stritem = DataManager.StrenTable[module.GetStrenLv()] as StrenTableItem; if (null == stritem) { return; } uint lv = module.GetStrenLv(); int starlv = (int)(lv / STREN_STEP); if (starlv > 0 && (lv % STREN_STEP) == 0) { starlv -= 1; } uint showlv = lv == 0 ? 0 : (lv % STREN_STEP == 0 ? 10 : lv % STREN_STEP); for (uint i = 0; i < showlv; ++i) { SetIcon(mWeaponStrList[(int)i], "common:strenth (" + (starlv + 7) + ")"); } for (uint i = showlv; i < STREN_STEP; ++i) { SetIcon(mWeaponStrList[(int)i], "common:starslvback"); } mWeaponName.text = "[" + configitem.value + "]" + item.name; mWeaponUseLv.text = mData.GetPromoteLv() + "阶"; mWeaponStrLv.text = module.GetStrenLv() + "级"; mWeaponBaseDamage.text = pres.value.ToString(); mWeaponStrDamage.text = stritem.value.ToString(); mWeaponDesc.text = item.desc; mWeaponAbtain.text = item.desc0; mNumLb.text = mData.GetPromoteLv().ToString(); //SetIcon(mWeaponPic, item.picname); }
//枪械属性 public static void BuildWeaponProperty(PlayerData mainData, PropertyOperation operation) { operation.Clear(); //主武器属性 WeaponObj obj = mainData.mPack.GetItemByID(mainData.main_weaponId, PackageType.Pack_Weapon) as WeaponObj; if (null != obj) { obj.BuildProperty(operation); } //强化属性 StrenTableItem item = DataManager.StrenTable[mainData.mStrenLv] as StrenTableItem; if (null == item) { GameDebug.LogError("没有此强化等级 lv = " + mainData.mStrenLv); return; } operation.AddPro((int)PropertyTypeEnum.PropertyTypeDamage, item.value); int starlv = (int)(mainData.mStrenLv / (int)STARS_RANK.MAX_STARS_RANK_NUMBER); if (starlv > 0 && (mainData.mStrenLv % (int)STARS_RANK.MAX_STARS_RANK_NUMBER) == 0) { starlv -= 1; } if (0 != starlv) { for (int i = 1; i <= starlv; ++i) { StrProTableItem itempro = DataManager.StrProTable[i] as StrProTableItem; if (null == itempro) { GameDebug.LogError("strenthpro.txt中不存在id = " + starlv); return; } if (itempro.life != uint.MaxValue) { operation.AddPro((int)PropertyTypeEnum.PropertyTypeMaxHP, itempro.life); } if (itempro.damage != uint.MaxValue) { operation.AddPro((int)PropertyTypeEnum.PropertyTypeDamage, itempro.damage); } if (itempro.crits != uint.MaxValue) { operation.AddPro((int)PropertyTypeEnum.PropertyTypeCrticalLV, itempro.crits); } if (itempro.defence != uint.MaxValue) { operation.AddPro((int)PropertyTypeEnum.PropertyTypeDefance, itempro.defence); } if (itempro.energy != uint.MaxValue) { operation.AddPro((int)PropertyTypeEnum.PropertyTypeMaxMana, itempro.energy); } } } //配件属性 FittingsData[] mFittings = mainData.mFittings; WeaponModule module = ModuleManager.Instance.FindModule <WeaponModule>(); if (null == module) { return; } for (int i = 0; i < (int)FittingsType.MAX_FITTGINS; ++i) { FittingsTableItem fittingsitem = DataManager.FittingsTable[mFittings[i].GetId()] as FittingsTableItem; if (null == fittingsitem) { break; } for (int j = 0; j < (int)FittingsType.MAX_PROPERTY; ++j) { int min = 0; int max = 1; if (!module.GetFittMinMax(mFittings[i].GetId(), mFittings[i].GetProIdByPos(j), ref min, ref max)) { continue; } operation.AddPro(mFittings[i].GetProIdByPos(j), mFittings[i].GetProValueByPos(j)); } } }