示例#1
0
    public static long GetDropNum(int ruleId, int level, ref int itemId)
    {
        List <DiaoLuo> dropsByRuleId = DropUtil.GetDropsByRuleId(ruleId);

        if (dropsByRuleId.get_Count() == 0)
        {
            return(0L);
        }
        DiaoLuo diaoLuo = dropsByRuleId.get_Item(0);

        if (diaoLuo.dropType == 1)
        {
            return(0L);
        }
        if (diaoLuo.dropType == 2)
        {
            int       groupId = diaoLuo.goodsId;
            List <Zu> list    = DataReader <Zu> .DataList.FindAll((Zu a) => a.groupId == groupId);

            for (int i = 0; i < list.get_Count(); i++)
            {
                if (level >= list.get_Item(i).minLv&& level <= list.get_Item(i).maxLv)
                {
                    itemId = list.get_Item(i).itemId;
                    return(list.get_Item(i).Num);
                }
            }
        }
        return(0L);
    }
示例#2
0
    public XDict <int, long> GetRewardItems(int id)
    {
        XDict <int, long> xDict         = new XDict <int, long>();
        List <DiaoLuo>    dropsByRuleId = DropUtil.GetDropsByRuleId(id);

        if (dropsByRuleId == null || dropsByRuleId.get_Count() <= 0)
        {
            return(xDict);
        }
        for (int i = 0; i < dropsByRuleId.get_Count(); i++)
        {
            DiaoLuo dataDropCfg = dropsByRuleId.get_Item(i);
            int     id2         = dataDropCfg.id;
            if (!xDict.ContainsKey(dataDropCfg.goodsId))
            {
                if (dataDropCfg.dropType == 1)
                {
                    xDict.Add(dataDropCfg.goodsId, dataDropCfg.maxNum);
                }
                else if (dataDropCfg.dropType == 2)
                {
                    int carrer = EntityWorld.Instance.EntSelf.TypeID;
                    Zu  zu     = DataReader <Zu> .DataList.Find((Zu a) => a.groupId == dataDropCfg.goodsId && a.profession == carrer);

                    if (zu != null)
                    {
                        xDict.Add(zu.itemId, dataDropCfg.maxNum);
                    }
                }
            }
        }
        return(xDict);
    }
示例#3
0
    public void SetShowItem(int itemId, Action callback)
    {
        Items config = DataReader <Items> .Get(itemId);

        if (config == null)
        {
            BoxBuyUI.Instance.Show(false);
            return;
        }
        this.m_TitleName.set_text(string.Format(GameDataUtils.GetChineseContent(508035, false), GameDataUtils.GetChineseContent(config.name, false)));
        this.m_BoxInfo.set_text(GameDataUtils.GetChineseContent(config.describeId1, false));
        for (int i = 0; i < this.m_ScrollviewList.get_childCount(); i++)
        {
            Object.Destroy(this.m_ScrollviewList.GetChild(i).get_gameObject());
        }
        if (config.effectId > 0)
        {
            List <DiaoLuo> list = DataReader <DiaoLuo> .DataList.FindAll((DiaoLuo a) => a.ruleId == config.effectId);

            if (list != null && list.get_Count() > 0)
            {
                for (int j = 0; j < list.get_Count(); j++)
                {
                    DiaoLuo diaoLuo = list.get_Item(j);
                    if (diaoLuo.dropType == 1)
                    {
                        ItemShow.ShowItem(this.m_ScrollviewList, diaoLuo.goodsId, diaoLuo.minNum, false, UINodesManager.T2RootOfSpecial, 2001);
                    }
                }
            }
        }
        this.CallBack = callback;
    }
示例#4
0
    public long GetBatchExp(int batch)
    {
        if (batch > 0)
        {
            FJingYanFuBenBoCi data = DataReader <FJingYanFuBenBoCi> .Get(batch);

            if (data != null)
            {
                DiaoLuo diaoLuo = Enumerable.FirstOrDefault <DiaoLuo>(DataReader <DiaoLuo> .DataList, (DiaoLuo t) => t.ruleId == data.rewardId && t.minLv == EntityWorld.Instance.EntSelf.Lv);
                if (diaoLuo != null)
                {
                    return(diaoLuo.minNum);
                }
            }
        }
        return(0L);
    }
示例#5
0
    private void OnClickSeeReward(GameObject go)
    {
        if (this.guildBossCfgData == null)
        {
            return;
        }
        List <int>  list  = new List <int>();
        List <long> list2 = new List <long>();

        if (this.rewardList == null)
        {
            this.rewardList = new List <KeyValuePair <int, long> >();
            int            rewardDropID = this.guildBossCfgData.rewardShow;
            List <DiaoLuo> list3        = DataReader <DiaoLuo> .DataList.FindAll((DiaoLuo a) => a.ruleId == rewardDropID);

            if (list3 == null)
            {
                return;
            }
            for (int i = 0; i < list3.get_Count(); i++)
            {
                DiaoLuo diaoLuo = list3.get_Item(i);
                if (diaoLuo.dropType == 1)
                {
                    list.Add(diaoLuo.goodsId);
                    list2.Add(diaoLuo.minNum);
                    this.rewardList.Add(new KeyValuePair <int, long>(diaoLuo.goodsId, diaoLuo.minNum));
                }
            }
        }
        else
        {
            for (int j = 0; j < this.rewardList.get_Count(); j++)
            {
                list.Add(this.rewardList.get_Item(j).get_Key());
                list2.Add(this.rewardList.get_Item(j).get_Value());
            }
        }
        if (list.get_Count() > 0)
        {
            RewardUI rewardUI = LinkNavigationManager.OpenRewardUI(UINodesManager.MiddleUIRoot);
            rewardUI.get_transform().SetAsLastSibling();
            rewardUI.SetRewardItem(GameDataUtils.GetChineseContent(513163, false), list, list2, true, true, null, null);
        }
    }
示例#6
0
    private void CreateReward(int rewardId)
    {
        for (int i = 0; i < this.mSpecialRewards.get_childCount(); i++)
        {
            Object.Destroy(this.mSpecialRewards.GetChild(i).get_gameObject());
        }
        List <DiaoLuo> dataList = DataReader <DiaoLuo> .DataList;

        for (int j = 0; j < dataList.get_Count(); j++)
        {
            DiaoLuo diaoLuo = dataList.get_Item(j);
            if (diaoLuo.ruleId == rewardId && diaoLuo.dropType == 1)
            {
                GameObject gameObject = ItemShow.ShowItem(this.mSpecialRewards, diaoLuo.goodsId, diaoLuo.minNum, false, null, 2001);
                gameObject.get_transform().set_localScale(new Vector3(0.5f, 0.5f, 1f));
            }
        }
    }
示例#7
0
    public void GetTaskRewards(ref XDict <int, long> rewards, bool justRes = false)
    {
        rewards.Clear();
        for (int i = 0; i < this.Data.reward.get_Count(); i++)
        {
            if (!justRes || this.Data.reward.get_Item(i).key <= 100)
            {
                rewards.Add(this.Data.reward.get_Item(i).key, this.Data.reward.get_Item(i).value *(long)this.Task.ratio);
            }
        }
        List <DiaoLuo> dataList = DataReader <DiaoLuo> .DataList;
        int            lv       = EntityWorld.Instance.EntSelf.Lv;

        for (int j = 0; j < this.Data.rewardId.get_Count(); j++)
        {
            int num = this.Data.rewardId.get_Item(j);
            for (int k = 0; k < dataList.get_Count(); k++)
            {
                DiaoLuo diaoLuo = dataList.get_Item(k);
                if (diaoLuo.ruleId == num)
                {
                    if (!justRes || diaoLuo.goodsId <= 100)
                    {
                        if (diaoLuo.minLv == diaoLuo.maxLv && diaoLuo.minLv == 0)
                        {
                            rewards.Add(diaoLuo.goodsId, diaoLuo.minNum * (long)this.Task.ratio);
                        }
                        else if (diaoLuo.minLv == diaoLuo.maxLv && lv == diaoLuo.minLv)
                        {
                            rewards.Add(diaoLuo.goodsId, diaoLuo.minNum * (long)this.Task.ratio);
                        }
                        else if (diaoLuo.minLv < diaoLuo.maxLv && lv >= diaoLuo.minLv && lv < diaoLuo.maxLv)
                        {
                            rewards.Add(diaoLuo.goodsId, diaoLuo.minNum * (long)this.Task.ratio);
                        }
                    }
                }
            }
        }
    }
示例#8
0
    private void CreateDropRewards(List <DiaoLuo> diaoluos, int dropId)
    {
        int lv = EntityWorld.Instance.EntSelf.Lv;

        for (int i = 0; i < diaoluos.get_Count(); i++)
        {
            DiaoLuo diaoLuo = diaoluos.get_Item(i);
            if (diaoLuo.ruleId == dropId)
            {
                if (diaoLuo.minLv == diaoLuo.maxLv && diaoLuo.minLv == 0)
                {
                    this.CreateRewards(diaoLuo.goodsId, diaoLuo.minNum);
                }
                else if (diaoLuo.minLv == diaoLuo.maxLv && lv == diaoLuo.minLv)
                {
                    this.CreateRewards(diaoLuo.goodsId, diaoLuo.minNum);
                }
                else if (diaoLuo.minLv < diaoLuo.maxLv && lv >= diaoLuo.minLv && lv < diaoLuo.maxLv)
                {
                    this.CreateRewards(diaoLuo.goodsId, diaoLuo.minNum);
                }
            }
        }
    }
示例#9
0
    private void FindDropReward(List <DiaoLuo> diaoluos, int dropId, XDict <int, long> rewards)
    {
        int lv = EntityWorld.Instance.EntSelf.Lv;

        for (int i = 0; i < diaoluos.get_Count(); i++)
        {
            DiaoLuo diaoLuo = diaoluos.get_Item(i);
            if (diaoLuo.ruleId == dropId)
            {
                if (diaoLuo.minLv == diaoLuo.maxLv && diaoLuo.minLv == 0)
                {
                    rewards.Add(diaoLuo.goodsId, diaoLuo.minNum);
                }
                else if (diaoLuo.minLv == diaoLuo.maxLv && lv == diaoLuo.minLv)
                {
                    rewards.Add(diaoLuo.goodsId, diaoLuo.minNum);
                }
                else if (diaoLuo.minLv < diaoLuo.maxLv && lv >= diaoLuo.minLv && lv < diaoLuo.maxLv)
                {
                    rewards.Add(diaoLuo.goodsId, diaoLuo.minNum);
                }
            }
        }
    }
示例#10
0
    private void CreateReward(DiaoLuo data)
    {
        this.mCurRewardCount++;
        if (this.mCurRewardCount > 2)
        {
            return;
        }
        Items item = BackpackManager.Instance.GetItem((data.goodsId != 3001) ? data.goodsId : 2010);

        if (item == null)
        {
            return;
        }
        GameObject gameObject = this.CreateRewardItem();

        gameObject.set_name(data.goodsId.ToString());
        Image image = UIHelper.GetImage(gameObject.get_transform(), "Image");

        if (this.HaveIconId(data.goodsId))
        {
            image.get_rectTransform().set_sizeDelta(new Vector2(50f, 50f));
        }
        else
        {
            image.get_rectTransform().set_sizeDelta(new Vector2(40f, 40f));
        }
        ResourceManager.SetSprite(image, GameDataUtils.GetIcon((item.id >= 5) ? item.icon : item.littleIcon));
        string text = Utils.SwitchChineseNumber((long)this.mTask.canFindTimes * data.minNum, 1);

        if (item.id == 1)
        {
            text += "+";
        }
        UIHelper.GetText(gameObject.get_transform(), "Text").set_text(text);
        gameObject.SetActive(true);
    }
示例#11
0
    private void FindDropReward(List <DiaoLuo> diaoluos, int dropId)
    {
        int lv = EntityWorld.Instance.EntSelf.Lv;

        for (int i = 0; i < diaoluos.get_Count(); i++)
        {
            DiaoLuo diaoLuo = diaoluos.get_Item(i);
            if (diaoLuo.ruleId == dropId)
            {
                if (diaoLuo.minLv == diaoLuo.maxLv && diaoLuo.minLv == 0)
                {
                    this.mFindReward.Add(diaoLuo);
                }
                else if (diaoLuo.minLv == diaoLuo.maxLv && lv == diaoLuo.minLv)
                {
                    this.mFindReward.Add(diaoLuo);
                }
                else if (diaoLuo.minLv < diaoLuo.maxLv && lv >= diaoLuo.minLv && lv < diaoLuo.maxLv)
                {
                    this.mFindReward.Add(diaoLuo);
                }
            }
        }
    }
示例#12
0
    public void SetShowItem(int itemId, Action callback = null)
    {
        this.CallBack = callback;
        Items config = DataReader <Items> .Get(itemId);

        if (config == null)
        {
            PayTreasureUI.Instance.Show(false);
            return;
        }
        this.m_TitleName.set_text(GameDataUtils.GetChineseContent(config.name, false));
        for (int i = 0; i < this.m_ScrollviewList.get_childCount(); i++)
        {
            Object.Destroy(this.m_ScrollviewList.GetChild(i).get_gameObject());
        }
        if (config.effectId > 0)
        {
            List <DiaoLuo> list = DataReader <DiaoLuo> .DataList.FindAll((DiaoLuo a) => a.ruleId == config.effectId);

            if (list != null && list.get_Count() > 0)
            {
                for (int j = 0; j < list.get_Count(); j++)
                {
                    DiaoLuo diaoLuo = list.get_Item(j);
                    if (diaoLuo.dropType == 1)
                    {
                        ItemShow.ShowItem(this.m_ScrollviewList, diaoLuo.goodsId, diaoLuo.minNum, false, UINodesManager.T2RootOfSpecial, 2001);
                    }
                }
            }
        }
        string text = string.Empty;

        if (config.originalPrice.get_Count() > 0)
        {
            this.m_OriginalPrice.SetActive(true);
            Items.OriginalpricePair originalpricePair = config.originalPrice.get_Item(0);
            int key = originalpricePair.key;
            ResourceManager.SetSprite(this.m_OriginalIcon, GameDataUtils.GetItemLitterIcon(key));
            this.m_OriginalNum.set_text(originalpricePair.value);
            text = originalpricePair.value;
        }
        else
        {
            this.m_OriginalPrice.SetActive(false);
        }
        if (config.discountedPrice.get_Count() > 0)
        {
            this.m_DiscountedPrice.SetActive(true);
            Items.DiscountedpricePair discountedpricePair = config.discountedPrice.get_Item(0);
            int key2 = discountedpricePair.key;
            ResourceManager.SetSprite(this.m_DiscountedIcon, GameDataUtils.GetItemLitterIcon(key2));
            this.m_DiscountedNum.set_text(discountedpricePair.value);
            text = discountedpricePair.value;
        }
        else
        {
            this.m_DiscountedPrice.SetActive(false);
        }
        this.m_BoxInfo.set_text(string.Format(GameDataUtils.GetChineseContent(517003, false), text));
    }
示例#13
0
    private void SetFindData(MZhaoHui findData, bool isGoldBuy)
    {
        if (findData == null)
        {
            return;
        }
        this.SetTypeVisable(false, this.mTask.canFindTimes <= 0);
        this.ClearRewardItem();
        List <int> list;

        if (isGoldBuy)
        {
            list = findData.goldReward;
            this.mTxPrice.set_text(Utils.SwitchChineseNumber((long)this.GoldPrice, 0));
            ResourceManager.SetSprite(this.mImgPrice, ResourceManager.GetIconSprite("nav_icon_gold"));
        }
        else
        {
            list = findData.diamondReward;
            this.mTxPrice.set_text(Utils.SwitchChineseNumber((long)this.DiamondPrice, 0));
            ResourceManager.SetSprite(this.mImgPrice, ResourceManager.GetIconSprite("nav_icon_diamond"));
        }
        List <DiaoLuo> dataList = DataReader <DiaoLuo> .DataList;
        int            lv       = EntityWorld.Instance.EntSelf.Lv;

        if (this.mFindReward == null)
        {
            this.mFindReward = new List <DiaoLuo>();
        }
        else
        {
            this.mFindReward.Clear();
        }
        for (int i = 0; i < list.get_Count(); i++)
        {
            int num = list.get_Item(i);
            for (int j = 0; j < dataList.get_Count(); j++)
            {
                DiaoLuo diaoLuo = dataList.get_Item(j);
                if (diaoLuo.ruleId == num)
                {
                    if (diaoLuo.minLv == diaoLuo.maxLv && diaoLuo.minLv == 0)
                    {
                        this.mFindReward.Add(diaoLuo);
                    }
                    else if (diaoLuo.minLv == diaoLuo.maxLv && lv == diaoLuo.minLv)
                    {
                        this.mFindReward.Add(diaoLuo);
                    }
                    else if (diaoLuo.minLv < diaoLuo.maxLv && lv >= diaoLuo.minLv && lv < diaoLuo.maxLv)
                    {
                        this.mFindReward.Add(diaoLuo);
                    }
                }
            }
        }
        for (int k = 0; k < this.mFindReward.get_Count(); k++)
        {
            if (this.mFindReward.get_Count() < 3 || this.mFindReward.get_Item(k).goodsId != 1)
            {
                this.CreateReward(this.mFindReward.get_Item(k));
            }
        }
        this.mTxDesc.set_text(string.Format(GameDataUtils.GetChineseContent(301037, false), this.mTask.canFindTimes));
        this.mGoGoto.SetActive(this.mTask.canFindTimes > 0);
    }