Exemplo n.º 1
0
    public bool StrenDefence(DefenceUIParam uiparam)
    {
        PlayerDataModule module = ModuleManager.Instance.FindModule <PlayerDataModule>();

        if (null == module)
        {
            return(false);
        }

        DefenceObj       defencedata = module.GetItemByIDAndPos(uiparam.itemid, uiparam.packpos, uiparam.packtype) as DefenceObj;
        DefenceTableItem defenceItem = DataManager.DefenceTable[uiparam.itemid] as DefenceTableItem;

        if (null == defencedata || null == defenceItem)
        {
            return(false);
        }

        //当前装备是否可以强化
        if (defencedata.GetStrenLv() >= defenceItem.strenLevelMax)
        {
            //弹窗.当前装备强化等级已达到最高等级,请提升装备品质
            PopTipManager.Instance.AddNewTip(StringHelper.GetString("strenmax"));
            return(false);
        }

        //根据当前装备属性取得强化等级及消耗并显示
        int strenlv = defencedata.GetStrenLv();
        DefenceStrenProItem strenproItem = DataManager.DefenceStrenProTable[defenceItem.strenSerialNumber + strenlv] as DefenceStrenProItem;
        DefenceStrenItem    strenItem    = DataManager.DefenceStrenTable[strenlv + 1] as DefenceStrenItem;

        if (strenproItem == null || strenItem == null)
        {
            return(false);
        }

        uint x = module.GetProceeds(ProceedsType.Money_Game);

        if (module.GetProceeds(ProceedsType.Money_Game) < strenItem.money * strenproItem.ratio)
        {
            //金币不足,弹窗:提示玩家直接购买
            //TODO
            PopTipManager.Instance.AddNewTip(StringHelper.GetString("money_game_shortage"));
            return(false);
        }

        StrenDefenceActionParam param = new StrenDefenceActionParam();

        param.DefenceId = uiparam.itemid;
        param.PackType  = (int)uiparam.packtype;
        param.pos       = uiparam.packpos;
        param.strenten  = false;

        Net.Instance.DoAction((int)Message.MESSAGE_ID.ID_MSG_DEFENCE_STEN, param);
        return(true);
    }
Exemplo n.º 2
0
    protected override void OnRequest(request_defence_stren request, object userdata)
    {
        StrenDefenceActionParam param = userdata as StrenDefenceActionParam;

        if (param == null)
        {
            return;
        }

        request.defenceId = param.DefenceId;
        request.packtype  = param.PackType;
        request.pos       = param.pos;
        if (param.strenten)
        {
            request.isstrenten = param.strenten;
        }
    }