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); }
protected override void OnRequest(request_defence_promote request, object userdata) { PromoteDefenceActionParam param = userdata as PromoteDefenceActionParam; if (param == null) { return; } request.defenceId = param.DefenceId; request.packtype = param.PackType; request.pos = param.pos; }