protected override void OnRequest(request_stone_inlay request, object userdata) { StoneInlayActionParam param = userdata as StoneInlayActionParam; 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 StoneInlay(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; if (null == defencedata || null == stoneitem) { PopTipManager.Instance.AddNewTip("请选择宝石"); return; } List <Message.stone_info> stoneinfo = defencedata.GetStoneInfo(); for (int i = 0; i < stoneinfo.Count; ++i) { StoneTableItem itemsss = DataManager.StoneTable[stoneinfo[i].stoneid] as StoneTableItem; if (null == itemsss) { continue; } if (itemsss.type == stoneitem.type) { //弹窗,不能镶嵌相同种类的宝石 PopTipManager.Instance.AddNewTip(StringHelper.GetString("not_inlay_same_type")); return; } } StoneInlayActionParam param = new StoneInlayActionParam(); 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_INLAY, param); }