protected override void OnRequest(request_stone_uninlay request, object userdata) { StoneUnInlayActionParam param = userdata as StoneUnInlayActionParam; if (param == null) { return; } request.defenceId = param.DefenceId; request.stoneId = param.stoneId; request.pos = param.pos; request.stonepos = param.stonepos; request.packtype = param.PackType; }
public void StoneUnInlay(DefenceUIParam uiparam) { PlayerDataModule module = ModuleManager.Instance.FindModule <PlayerDataModule>(); if (null == module) { return; } DefenceObj defencedata = module.GetItemByIDAndPos(uiparam.itemid, uiparam.packpos, uiparam.packtype) as DefenceObj; StoneTableItem stoneitem = DataManager.StoneTable[uiparam.stoneid] as StoneTableItem; PackageManager pack = module.GetPackManager(); if (null == defencedata || null == stoneitem || null == pack) { return; } // 判读Bag是否已满 if (pack.GetPackMaxVaildSize(PackageType.Pack_Gem) >= pack.GetPackMaxSize(PackageType.Pack_Gem) && pack.GetNumByID(uiparam.stoneid, PackageType.Pack_Gem) >= stoneitem.maxFurl) { //弹窗:Bag已满 PopTipManager.Instance.AddNewTip(StringHelper.GetString("bag_full")); return; } StoneUnInlayActionParam param = new StoneUnInlayActionParam(); param.DefenceId = uiparam.itemid; param.stoneId = uiparam.stoneid; param.PackType = (int)uiparam.packtype; param.pos = uiparam.packpos; param.stonepos = uiparam.stonepos; Net.Instance.DoAction((int)Message.MESSAGE_ID.ID_MSG_DEFENCE_STONE_UNINLAY, param); }