Пример #1
0
    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;
    }
Пример #2
0
    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);
    }