private void InitFittingsItemInfo() { WeaponModule wmodule = ModuleManager.Instance.FindModule <WeaponModule>(); if (wmodule == null) { return; } PlayerDataModule module = ModuleManager.Instance.FindModule <PlayerDataModule>(); if (module == null) { return; } FittingsTableItem fres = DataManager.FittingsTable[uiparam.itemid] as FittingsTableItem; if (fres == null) { GameDebug.LogError("资源ID为" + uiparam.itemid + "不存在表格fittings.txt中 "); return; } ConfigTableItem configitem = DataManager.ConfigTable[fres.grade] as ConfigTableItem; if (null == configitem) { return; } mFitName.text = "[" + configitem.value + "]" + fres.name; mFitType.text = "物品类型"; mFitUseLv.text = fres.itemtype; mFitDesc.text = fres.itemdesc; mFitAbtain.text = fres.itemabtain; SetIcon(mFitPic, fres.bmp); SetIcon(mItemPic1, null); mItemLb.text = ""; FittingsData fdata = module.GetFittingsData((uint)uiparam.packpos); if (fdata == null) { for (int i = 0; i < (int)FittingsType.MAX_PROPERTY; ++i) { mFitProNameList[i].text = ""; mFitproValueList[i].text = ""; } mFitProNameList[0].text = "配件未洗练!"; return; } for (int i = 0; i < (int)FittingsType.MAX_PROPERTY; ++i) { int proid = -1; int value = -1; bool forbid = false; if (!fdata.GetProValue((uint)i, ref proid, ref value, ref forbid)) { continue; } string pname = RoleProperty.GetPropertyName(proid); if ("error".Equals(pname)) { pname = "属性名称"; } mFitProNameList[i].text = pname; int min = 0; int max = 1; if (!wmodule.GetFittMinMax(uiparam.itemid, proid, ref min, ref max)) { mFitproValueList[i].text = "该条属性尚未洗炼!"; continue; } mFitproValueList[i].text = value.ToString(); /*int proindex = FittingsProperty.GetResId(proid); * string colorss = "000000"; * Hashtable map = DataManager.FittcolorTable; * foreach (FittcolorTableItem fcres in map.Values) * { * if (fcres.qualityid == fres.grade && value > System.Convert.ToInt32(fcres["max_" + proindex])) * continue; * * colorss = fcres.color; * break; * }*/ } }
//枪械属性 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)); } } }