private void SetNumOfComb(int stonetype, int combidfrom, int combidto)
    {
        PlayerDataModule module = ModuleManager.Instance.FindModule <PlayerDataModule>();

        if (null == module)
        {
            return;
        }
        PackageManager pack = module.GetPackManager();

        if (null == pack)
        {
            return;
        }

        for (int i = combidfrom; i <= combidto; ++i)
        {
            DefenceCombItem combitem = DataManager.DefenceCombTable[i] as DefenceCombItem;
            if (null == combitem || 0 == combitem.num1)
            {
                dic[stonetype][i - combidfrom].text = "";
                continue;
            }

            uint num = pack.GetNumByID(combitem.item1, PackageType.Pack_Gem) / (uint)combitem.num1;
            if (0 != num)
            {
                dic[stonetype][i - combidfrom].text = "【可合成数量 " + num + " 】";
            }
            else
            {
                dic[stonetype][i - combidfrom].text = "";
            }
        }
    }
Exemple #2
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);
    }
    private bool StoneCombInfoInit(int resid)
    {
        StoneTableItem stoneitem = DataManager.StoneTable[resid] as StoneTableItem;

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

        DefenceCombItem combitem = DataManager.DefenceCombTable[stoneitem.combid] as DefenceCombItem;

        if (null == combitem || 0 == combitem.num1)
        {
            GameDebug.LogError("defencecomb.txt中没有此合成序列 id = " + stoneitem.combid);
            return(false);
        }

        PlayerDataModule module = ModuleManager.Instance.FindModule <PlayerDataModule>();

        if (null == module)
        {
            return(false);
        }
        PackageManager pack = module.GetPackManager();

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

        stoneitem = DataManager.StoneTable[combitem.defenceproducedId] as StoneTableItem;
        if (null == stoneitem)
        {
            GameDebug.LogError("stones.txt中没有此宝石 id = " + combitem.defenceproducedId);
            return(false);
        }

        PropertyTableItem proitem = DataManager.PropertyTable[stoneitem.proid] as PropertyTableItem;

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

        UIAtlasHelper.SetSpriteImage(mStoneDemandPic, stoneitem.picname);
        mStoneDemandName.text = stoneitem.name;// + " Lv" + stoneitem.level;
        mStoneDemandPro.text  = proitem.name + " " + stoneitem.provalue;
        if (module.GetProceeds(ProceedsType.Money_Game) < combitem.moenyused)
        {
            mStoneDemandMoney.text = "[E92224]";
        }
        else
        {
            mStoneDemandMoney.text = "[3EFF00]";
        }
        mStoneDemandMoney.text += "金币 X" + combitem.moenyused;

        if (module.GetItemNumByID(combitem.item1, PackageType.Pack_Gem) < combitem.num1)
        {
            mStoneDemandNum.text = "[E92224]";
        }
        else
        {
            mStoneDemandNum.text = "[3EFF00]";
        }
        mStoneDemandNum.text += stoneitem.name /* + " Lv" + stoneitem.level*/ + " X" + combitem.num1;
        return(true);
    }
    private void OnRespondCombHandler(EventBase evt)
    {
        UILabel        stonetext  = null;
        UILabel        stonepromt = null;
        StoneTableItem stoneitem  = DataManager.StoneTable[mParam.stoneid] as StoneTableItem;

        if (null == stoneitem)
        {
            GameDebug.LogError("stones.txt中没有此宝石 id = " + mParam.stoneid);
            return;
        }
        DefenceCombItem combitem = DataManager.DefenceCombTable[stoneitem.combid] as DefenceCombItem;

        if (null == combitem || 0 == combitem.num1)
        {
            return;
        }
        for (int i = 0; i < 5; ++i)
        {
            for (int j = 0; j < 7; ++j)
            {
                if (mDicBtn[i][j].name.Equals("Sprite" + mParam.stoneid))
                {
                    stonetext = dic[i][j];
                }
                else if (mDicBtn[i][j].name.Equals("Sprite" + combitem.defenceproducedId))
                {
                    stonepromt = dic[i][j];
                }

                if (null != stonetext && null != stonepromt)
                {
                    break;
                }
            }
        }
        PlayerDataModule module = ModuleManager.Instance.FindModule <PlayerDataModule>();

        if (null == module)
        {
            SetStoneActive(stonetext);
            return;
        }
        PackageManager pack = module.GetPackManager();

        if (null == pack)
        {
            SetStoneActive(stonetext);
            return;
        }

        uint num = pack.GetNumByID(combitem.item1, PackageType.Pack_Gem) / (uint)combitem.num1;

        if (0 != num)
        {
            stonetext.text = "【可合成数量 " + num + " 】";
        }
        else
        {
            SetStoneActive(stonetext);
        }

        stoneitem = DataManager.StoneTable[combitem.defenceproducedId] as StoneTableItem;
        if (null == stoneitem)
        {
            GameDebug.LogError("stones.txt中没有此宝石 id = " + combitem.defenceproducedId);
            return;
        }

        combitem = DataManager.DefenceCombTable[stoneitem.combid] as DefenceCombItem;
        if (null == combitem)
        {
            GameDebug.LogError("defencecomb.txt中没有此合成序列 id = " + stoneitem.combid);
            return;
        }
        num = pack.GetNumByID(combitem.item1, PackageType.Pack_Gem) / (uint)combitem.num1;
        if (0 != num)
        {
            stonepromt.text = "【可合成数量 " + num + " 】";
        }

        StoneCombInfoInit(mParam.stoneid);
        onCombSucess();
    }
Exemple #5
0
    private void InitUI()
    {
        PlayerDataModule module = ModuleManager.Instance.FindModule <PlayerDataModule>();

        if (module == null)
        {
            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)
        {
            PopTipManager.Instance.AddNewTip(StringHelper.GetString("promote_max"));
            return;
        }

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

        //打开二级界面,显示需要的材料,玩家拥有的材料,装备升阶需要的等级
        NormalItemTableItem normalitem = DataManager.NormalItemTable[combItem.item1] as NormalItemTableItem;

        if (null == normalitem)
        {
            return;
        }
        UIAtlasHelper.SetSpriteImage(mItem1pic, normalitem.picname);
        mItem1name.text = normalitem.name + "X" + combItem.num1;
        normalitem      = DataManager.NormalItemTable[combItem.item2] as NormalItemTableItem;
        UIAtlasHelper.SetSpriteImage(mItem2pic, normalitem.picname);
        mItem2name.text = normalitem.name + "X" + combItem.num2;

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

        if (combItem.num1 > playerhascitem1)
        {
            mHasitem1.text = "[E92224]";
        }
        else
        {
            mHasitem1.text = "[FAFDF4]";
        }

        if (combItem.num2 > playerhascitem2)
        {
            mHasitem2.text = "[E92224]";
        }
        else
        {
            mHasitem2.text = "[FAFDF4]";
        }
        mHasitem1.text += playerhascitem1.ToString();
        mHasitem2.text += playerhascitem2.ToString();

        if (defenceitempromote.uselevel > module.GetLevel())
        {
            mLvhint.text = "[E92224]";
        }
        else
        {
            mLvhint.text = "[FAFDF4]";
        }
        mLvhint.text += StringHelper.GetString("defencepromotehint").Replace("?", defenceitempromote.uselevel.ToString());
    }
Exemple #6
0
    public void StoneComb(DefenceUIParam uiparam)
    {
        PlayerDataModule module = ModuleManager.Instance.FindModule <PlayerDataModule>();

        if (null == module)
        {
            return;
        }

        StoneTableItem stoneitem = null;

        if (uiparam.isequiped)
        {
            DefenceObj defencedata = module.GetItemByIDAndPos(uiparam.itemid, uiparam.packpos, uiparam.packtype) as DefenceObj;

            if (null == defencedata)
            {
                return;
            }

            stoneitem = DataManager.StoneTable[defencedata.GetStoneInfoByPos(uiparam.stonepos).stoneid] as StoneTableItem;
        }
        else
        {
            stoneitem = DataManager.StoneTable[uiparam.stoneid] as StoneTableItem;
        }

        if (null == stoneitem)
        {
            return;
        }

        if (-1 == stoneitem.combid)
        {
            //宝石已达最高等级
            PopTipManager.Instance.AddNewTip(StringHelper.GetString("stonesmax"));
            return;
        }

        DefenceCombItem combItem = DataManager.DefenceCombTable[stoneitem.combid] as DefenceCombItem;

        if (null == combItem)
        {
            //弹窗:宝石无法合成
            PopTipManager.Instance.AddNewTip(StringHelper.GetString("stone_comb_error"));
            return;
        }

        if (module.GetProceeds(ProceedsType.Money_Game) < combItem.moenyused)
        {
            //弹窗:玩家金币不足
            PopTipManager.Instance.AddNewTip(StringHelper.GetString("money_game_shortage"));
            return;
        }

        uint playerhascitem = module.GetItemNumByID(combItem.item1, PackageType.Pack_Gem);

        if (uiparam.isequiped)
        {
            playerhascitem += 1;
        }
        if (playerhascitem < combItem.num1)
        {
            ////弹窗:道具【名称】【个数】不足
            stoneitem = DataManager.StoneTable[combItem.item1]  as StoneTableItem;
            if (null == stoneitem)
            {
                GameDebug.LogError("stone.txt中没有此宝石 id = " + combItem.item1);
                return;
            }
            PopTipManager.Instance.AddNewTip(StringHelper.GetString("item_need").Replace("?", stoneitem.name));
            return;
        }

        StoneCombActionParam param = new StoneCombActionParam();

        param.DefenceId = uiparam.itemid;
        param.stoneId   = stoneitem.id;
        param.PackType  = (int)uiparam.packtype;
        param.pos       = uiparam.packpos;
        param.stonepos  = uiparam.stonepos;
        param.isequiped = uiparam.isequiped;
        Net.Instance.DoAction((int)Message.MESSAGE_ID.ID_MSG_DEFENCE_STONE_COMB, param);
    }