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;
    }
Beispiel #2
0
    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);
    }