Exemple #1
0
    public void OnBtnPromoteHandler()
    {
        SoundManager.Instance.Play(15);
        PlayerDataModule module = ModuleManager.Instance.FindModule <PlayerDataModule>();

        if (null == module)
        {
            return;
        }

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

        if (null == defencedata || null == defenceItemold)
        {
            return;
        }

        DefenceCombItem combItem = DataManager.DefenceCombTable[defenceItemold.combId] as DefenceCombItem;

        if (null == combItem)
        {
            //弹窗:装备无法提升
            return;
        }

        DefenceTableItem defenceitempromote = DataManager.DefenceTable[combItem.defenceproducedId] as DefenceTableItem;

        //打开二级界面,显示需要的材料,玩家拥有的材料,装备升阶需要的等级

        uint playerhascitem1 = module.GetItemNumByID(combItem.item1, PackageType.Pack_Bag);
        uint playerhascitem2 = module.GetItemNumByID(combItem.item2, PackageType.Pack_Bag);

        if (defenceitempromote.uselevel > module.GetLevel())
        {
            PopTipManager.Instance.AddNewTip(StringHelper.GetString("roll_lv_need"));
            return;
        }

        if (playerhascitem1 < combItem.num1)
        {
            //弹窗:道具【名称】【个数】不足
            //TODO
            PopTipManager.Instance.AddNewTip(StringHelper.GetString("item_need").Replace("?", ItemManager.Instance.getItemName(combItem.item1)));
            return;
        }

        if (playerhascitem2 < combItem.num2)
        {
            PopTipManager.Instance.AddNewTip(StringHelper.GetString("item_need").Replace("?", ItemManager.Instance.getItemName(combItem.item2)));
            return;
        }

        PromoteDefenceActionParam param = new PromoteDefenceActionParam();

        param.DefenceId = uiparam.itemid;
        param.PackType  = (int)uiparam.packtype;
        param.pos       = uiparam.packpos;
        Net.Instance.DoAction((int)Message.MESSAGE_ID.ID_MSG_DEFENCE_PROMOTE, param);
    }
    protected override void OnRequest(request_defence_promote request, object userdata)
    {
        PromoteDefenceActionParam param = userdata as PromoteDefenceActionParam;

        if (param == null)
        {
            return;
        }

        request.defenceId = param.DefenceId;
        request.packtype  = param.PackType;
        request.pos       = param.pos;
    }