override public bool BuildProperty(PropertyOperation operation) { DefenceTableItem itemdefence = GetDeRes(); operation.AddPro((int)PropertyTypeEnum.PropertyTypeMaxHP, prolifestren == -1 ? 0 : prolifestren + itemdefence.basePropertyLife); operation.AddPro((int)PropertyTypeEnum.PropertyTypeMaxHP, prolifestars == -1 ? 0 : prolifestars); operation.AddPro((int)PropertyTypeEnum.PropertyTypeDamage, prodamagestren == -1 ? 0 : prodamagestren + itemdefence.basePropertyDamage); operation.AddPro((int)PropertyTypeEnum.PropertyTypeDamage, prodamagestars == -1 ? 0 : prodamagestars); operation.AddPro((int)PropertyTypeEnum.PropertyTypeCrticalLV, procritstren == -1 ? 0 : procritstren + itemdefence.basePropertyCrit); operation.AddPro((int)PropertyTypeEnum.PropertyTypeCrticalLV, procritstars == -1 ? 0 : procritstars); operation.AddPro((int)PropertyTypeEnum.PropertyTypeDefance, prodefencestren == -1 ? 0 : prodefencestren + itemdefence.basePropertyDefence); operation.AddPro((int)PropertyTypeEnum.PropertyTypeDefance, prodefencestars == -1 ? 0 : prodefencestars); for (int i = 0; i < stoneinfo.Count; ++i) { StoneTableItem item = DataManager.StoneTable[stoneinfo[i].stoneid] as StoneTableItem; if (null == item) { continue; } operation.AddPro(item.proid, item.provalue); } return(false); }
public void OnBtnPromoteHandler() { SoundManager.Instance.Play(15); PlayerDataModule module = ModuleManager.Instance.FindModule <PlayerDataModule>(); if (null == module) { return; } DefenceObj defencedata = module.GetItemByIDAndPos(uiparam.itemid, uiparam.packpos, uiparam.packtype) as DefenceObj; DefenceTableItem defenceItemold = DataManager.DefenceTable[uiparam.itemid] as DefenceTableItem; if (null == defencedata || null == defenceItemold) { return; } DefenceCombItem combItem = DataManager.DefenceCombTable[defenceItemold.combId] as DefenceCombItem; if (null == combItem) { //弹窗:装备无法提升 return; } DefenceTableItem defenceitempromote = DataManager.DefenceTable[combItem.defenceproducedId] as DefenceTableItem; //打开二级界面,显示需要的材料,玩家拥有的材料,装备升阶需要的等级 uint playerhascitem1 = module.GetItemNumByID(combItem.item1, PackageType.Pack_Bag); uint playerhascitem2 = module.GetItemNumByID(combItem.item2, PackageType.Pack_Bag); if (defenceitempromote.uselevel > module.GetLevel()) { PopTipManager.Instance.AddNewTip(StringHelper.GetString("roll_lv_need")); return; } if (playerhascitem1 < combItem.num1) { //弹窗:道具【名称】【个数】不足 //TODO PopTipManager.Instance.AddNewTip(StringHelper.GetString("item_need").Replace("?", ItemManager.Instance.getItemName(combItem.item1))); return; } if (playerhascitem2 < combItem.num2) { PopTipManager.Instance.AddNewTip(StringHelper.GetString("item_need").Replace("?", ItemManager.Instance.getItemName(combItem.item2))); return; } PromoteDefenceActionParam param = new PromoteDefenceActionParam(); param.DefenceId = uiparam.itemid; param.PackType = (int)uiparam.packtype; param.pos = uiparam.packpos; Net.Instance.DoAction((int)Message.MESSAGE_ID.ID_MSG_DEFENCE_PROMOTE, param); }
public bool StrenDefence(DefenceUIParam uiparam) { PlayerDataModule module = ModuleManager.Instance.FindModule <PlayerDataModule>(); if (null == module) { return(false); } DefenceObj defencedata = module.GetItemByIDAndPos(uiparam.itemid, uiparam.packpos, uiparam.packtype) as DefenceObj; DefenceTableItem defenceItem = DataManager.DefenceTable[uiparam.itemid] as DefenceTableItem; if (null == defencedata || null == defenceItem) { return(false); } //当前装备是否可以强化 if (defencedata.GetStrenLv() >= defenceItem.strenLevelMax) { //弹窗.当前装备强化等级已达到最高等级,请提升装备品质 PopTipManager.Instance.AddNewTip(StringHelper.GetString("strenmax")); return(false); } //根据当前装备属性取得强化等级及消耗并显示 int strenlv = defencedata.GetStrenLv(); DefenceStrenProItem strenproItem = DataManager.DefenceStrenProTable[defenceItem.strenSerialNumber + strenlv] as DefenceStrenProItem; DefenceStrenItem strenItem = DataManager.DefenceStrenTable[strenlv + 1] as DefenceStrenItem; if (strenproItem == null || strenItem == null) { return(false); } uint x = module.GetProceeds(ProceedsType.Money_Game); if (module.GetProceeds(ProceedsType.Money_Game) < strenItem.money * strenproItem.ratio) { //金币不足,弹窗:提示玩家直接购买 //TODO PopTipManager.Instance.AddNewTip(StringHelper.GetString("money_game_shortage")); return(false); } StrenDefenceActionParam param = new StrenDefenceActionParam(); param.DefenceId = uiparam.itemid; param.PackType = (int)uiparam.packtype; param.pos = uiparam.packpos; param.strenten = false; Net.Instance.DoAction((int)Message.MESSAGE_ID.ID_MSG_DEFENCE_STEN, param); return(true); }
public bool RisingStar(DefenceUIParam uiparam) { PlayerDataModule module = ModuleManager.Instance.FindModule <PlayerDataModule>(); if (null == module) { return(false); } DefenceObj defencedata = module.GetItemByIDAndPos(uiparam.itemid, uiparam.packpos, uiparam.packtype) as DefenceObj; DefenceTableItem defenceItem = DataManager.DefenceTable[uiparam.itemid] as DefenceTableItem; if (null == defencedata || null == defenceItem) { return(false); } //判断装备是否可以升星 int starslv = defencedata.GetStarsLv(); if (starslv >= defenceItem.starsLevelMax) { //弹窗.当前装备星阶已达到最高等级,请提升装备品质 PopTipManager.Instance.AddNewTip(StringHelper.GetString("rising_stars_max")); return(false); } DefenceStarsItem starsitem = DataManager.DefenceStarsTable[starslv + 1] as DefenceStarsItem; DefenceStarsProItem starsproitem = DataManager.DefenceStarsProTable[defenceItem.starsSerialNumber + starslv] as DefenceStarsProItem; //判断升星石是否足够 if (module.GetItemNumByID(starsitem.starsstoneId, PackageType.Pack_Bag) < starsitem.cstarsstone * starsproitem.scale) { //升星石不足,弹窗:提示玩家直接购买 //TODO PopTipManager.Instance.AddNewTip(StringHelper.GetString("rising_stones_need")); return(false); } RisingStarsActionParam param = new RisingStarsActionParam(); param.DefenceId = uiparam.itemid; param.PackType = (int)uiparam.packtype; param.pos = uiparam.packpos; param.riseten = false; Net.Instance.DoAction((int)Message.MESSAGE_ID.ID_MSG_DEFENCE_RISING_STAR, param); return(true); }
public void InitBasePro() { DefenceTableItem item = GetDeRes(); if (-1 != item.basePropertyCrit) { procritstren = 0; procritstars = 0; } else { procritstren = -1; procritstars = -1; } if (-1 != item.basePropertyDamage) { prodamagestren = 0; prodamagestars = 0; } else { prodamagestren = -1; prodamagestars = -1; } if (-1 != item.basePropertyDefence) { prodefencestren = 0; prodefencestars = 0; } else { prodefencestren = -1; prodefencestars = -1; } if (-1 != item.basePropertyLife) { prolifestren = 0; prolifestars = 0; } else { prolifestren = -1; prolifestars = -1; } }
public void ApplyEquipConfig(int[] equipconfigs) { if (equipconfigs == null) { return; } Dictionary <string, string> parts = new Dictionary <string, string>(); for (int i = 0; i < (int)EquipSlot.EquipSlot_MAX; ++i) { if (mEquipmentList[i] == equipconfigs[i]) { continue; } mEquipmentList[i] = equipconfigs[i]; int id = (int)mEquipmentList[i]; if (id < 0) { continue; } DefenceTableItem table = DataManager.DefenceTable[id] as DefenceTableItem; if (table == null) { continue; } PartModelTableItem item = DataManager.PartModelTable[table.modelShowId] as PartModelTableItem; if (item == null) { continue; } if (!string.IsNullOrEmpty(item.solt) && !string.IsNullOrEmpty(item.file)) { mVisual.ChangeElment(item.solt, AssetConfig.ModelPath + "Role/" + item.file + AssetConfig.AssetSuffix, null); } } }
private void SetDefenceLabel(PlayerDataModule module) { DefenceObj defencedata = module.GetItemByIDAndPos(mParam.itemid, mParam.packpos, mParam.packtype) as DefenceObj; if (null == defencedata) { return; } string ss = string.Format(StringHelper.GetString("defence_sale_money_count"), defencedata.GetSaleMoney()); if (defencedata.GetSaleStars() > 0) { ss += "," + string.Format(StringHelper.GetString("defence_sale_starscout"), defencedata.GetSaleStars()); } if (defencedata.GetSaleStones() > 0) { ss += "," + string.Format(StringHelper.GetString("defence_sale_stonescout"), defencedata.GetSaleStones()); } ss += "."; DefenceTableItem item = DataManager.DefenceTable[mParam.itemid] as DefenceTableItem; if (null == item) { return; } ConfigTableItem configitem = DataManager.ConfigTable[item.quality] as ConfigTableItem; if (null == configitem) { return; } ss += string.Format(StringHelper.GetString("is_sale"), "[" + configitem.value + "]" + item.name); mLabel1.text = ss; }
private void InitUI() { PlayerDataModule module = ModuleManager.Instance.FindModule <PlayerDataModule>(); if (module == null) { return; } DefenceObj defencedata = module.GetItemByIDAndPos(uiparam.itemid, uiparam.packpos, uiparam.packtype) as DefenceObj; DefenceTableItem defenceItemold = DataManager.DefenceTable[uiparam.itemid] as DefenceTableItem; if (null == defencedata || null == defenceItemold) { return; } DefenceCombItem combItem = DataManager.DefenceCombTable[defenceItemold.combId] as DefenceCombItem; if (null == combItem) { PopTipManager.Instance.AddNewTip(StringHelper.GetString("promote_max")); return; } DefenceTableItem defenceitempromote = DataManager.DefenceTable[combItem.defenceproducedId] as DefenceTableItem; //打开二级界面,显示需要的材料,玩家拥有的材料,装备升阶需要的等级 NormalItemTableItem normalitem = DataManager.NormalItemTable[combItem.item1] as NormalItemTableItem; if (null == normalitem) { return; } UIAtlasHelper.SetSpriteImage(mItem1pic, normalitem.picname); mItem1name.text = normalitem.name + "X" + combItem.num1; normalitem = DataManager.NormalItemTable[combItem.item2] as NormalItemTableItem; UIAtlasHelper.SetSpriteImage(mItem2pic, normalitem.picname); mItem2name.text = normalitem.name + "X" + combItem.num2; uint playerhascitem1 = module.GetItemNumByID(combItem.item1, PackageType.Pack_Bag); uint playerhascitem2 = module.GetItemNumByID(combItem.item2, PackageType.Pack_Bag); if (combItem.num1 > playerhascitem1) { mHasitem1.text = "[E92224]"; } else { mHasitem1.text = "[FAFDF4]"; } if (combItem.num2 > playerhascitem2) { mHasitem2.text = "[E92224]"; } else { mHasitem2.text = "[FAFDF4]"; } mHasitem1.text += playerhascitem1.ToString(); mHasitem2.text += playerhascitem2.ToString(); if (defenceitempromote.uselevel > module.GetLevel()) { mLvhint.text = "[E92224]"; } else { mLvhint.text = "[FAFDF4]"; } mLvhint.text += StringHelper.GetString("defencepromotehint").Replace("?", defenceitempromote.uselevel.ToString()); }
private bool CheckItem() { //Hashtable map = null; IDictionaryEnumerator itr = DataManager.NormalItemTable.GetEnumerator(); while (itr.MoveNext()) { NormalItemTableItem norres = itr.Value as NormalItemTableItem; if (ItemManager.GetItemType((uint)norres.id) != ItemType.Normal) { GameDebug.LogError("道具ID非法。id = " + norres.id.ToString()); return(false); } } // map = DataManager.NormalItemTable; // foreach (NormalItemTableItem norres in map.Values) // { // if(ItemManager.GetItemType((uint)norres.id) != ItemType.Normal) // { // GameDebug.LogError("道具ID非法。id = " + norres.id.ToString()); // return false; // } // } itr = DataManager.DefenceTable.GetEnumerator(); while (itr.MoveNext()) { DefenceTableItem deres = itr.Value as DefenceTableItem; if (ItemManager.GetItemType((uint)deres.id) != ItemType.Defence) { GameDebug.LogError("装备ID非法。id = " + deres.id.ToString()); return(false); } } // map = DataManager.DefenceTable; // foreach (DefenceTableItem deres in map.Values) // { // // } itr = DataManager.WeaponTable.GetEnumerator(); while (itr.MoveNext()) { WeaponTableItem wres = itr.Value as WeaponTableItem; if (ItemManager.GetItemType((uint)wres.id) != ItemType.Weapon) { GameDebug.LogError("武器ID非法。id = " + wres.id.ToString()); return(false); } } // map = DataManager.WeaponTable; // foreach (WeaponTableItem wres in map.Values) // { // if (ItemManager.GetItemType((uint)wres.id) != ItemType.Weapon) // { // GameDebug.LogError("武器ID非法。id = " + wres.id.ToString()); // return false; // } // } itr = DataManager.BoxItemTable.GetEnumerator(); while (itr.MoveNext()) { BoxItemTableItem wres = itr.Value as BoxItemTableItem; if (ItemManager.GetItemType((uint)wres.id) != ItemType.Box) { GameDebug.LogError("箱子道具ID非法。id = " + wres.id.ToString()); return(false); } } // map = DataManager.BoxItemTable; // foreach (BoxItemTableItem wres in map.Values) // { // if (ItemManager.GetItemType((uint)wres.id) != ItemType.Box) // { // GameDebug.LogError("箱子道具ID非法。id = " + wres.id.ToString()); // return false; // } // } return(true); }
public void SetSomeInfo(DefenceTableItem item) { mResId = item.id; InitBasePro(); this.mStrenlevel = item.strenLevelMin; this.mStarslevel = item.starsLevelMin; salemoney = item.equiprice; //+装备初始战力 fightvalue = item.fightValue; DefenceStrenProItem strenproitem = DataManager.DefenceStrenProTable[item.strenSerialNumber + item.strenLevelMin] as DefenceStrenProItem; if (null == strenproitem) { return; } DefenceStrenItem strenitem = DataManager.DefenceStrenTable[item.strenLevelMin] as DefenceStrenItem; if (null == strenitem) { return; } //+装备强化战力 fightvalue += strenproitem.fightvalue; if (-1 != procritstren) { procritstren = strenproitem.property; } if (-1 != prodamagestren) { prodamagestren = strenproitem.property; } if (-1 != prodefencestren) { prodefencestren = strenproitem.property; } if (-1 != prolifestren) { prolifestren = strenproitem.property; } DefenceStarsProItem starsproitem = DataManager.DefenceStarsProTable[item.starsSerialNumber + mStarslevel] as DefenceStarsProItem; if (null == starsproitem) { GameDebug.LogError("无效的升星序列 id = " + (item.starsSerialNumber + mStarslevel)); return; } fightvalue += starsproitem.fightvalue; if (-1 != procritstars) { procritstars = starsproitem.property; } if (-1 != prodamagestars) { prodamagestars = starsproitem.property; } if (-1 != prodefencestars) { prodefencestars = starsproitem.property; } if (-1 != prolifestars) { prolifestars = starsproitem.property; } }
public void SetProperty() { DefenceTableItem item = GetDeRes(); InitBasePro(); for (int i = item.strenLevelMin; i <= mStrenlevel; ++i) { DefenceStrenProItem strenproitem = DataManager.DefenceStrenProTable[item.strenSerialNumber + i] as DefenceStrenProItem; if (null == strenproitem) { continue; } DefenceStrenItem strenitem = DataManager.DefenceStrenTable[i] as DefenceStrenItem; if (null == strenitem) { continue; } salemoney += (int)(strenitem.money * strenproitem.ratio); if (i == mStrenlevel) { //+装备强化战力 fightvalue += strenproitem.fightvalue; if (-1 != procritstren) { procritstren = strenproitem.property; } if (-1 != prodamagestren) { prodamagestren = strenproitem.property; } if (-1 != prodefencestren) { prodefencestren = strenproitem.property; } if (-1 != prolifestren) { prolifestren = strenproitem.property; } } } //装备初始金币 salemoney += item.equiprice; DefenceStarsProItem starsproitem = DataManager.DefenceStarsProTable[item.starsSerialNumber + mStarslevel] as DefenceStarsProItem; if (null == starsproitem) { GameDebug.LogError("无效的升星序列 id = " + (item.starsSerialNumber + mStarslevel)); return; } //+装备升星战力 fightvalue += starsproitem.fightvalue; if (-1 != procritstars) { procritstars = starsproitem.property; } if (-1 != prodamagestars) { prodamagestars = starsproitem.property; } if (-1 != prodefencestars) { prodefencestars = starsproitem.property; } if (-1 != prolifestars) { prolifestars = starsproitem.property; } //+装备初始战力 fightvalue += item.fightValue; }