public ActivityTemplateTaskVo(ActivityHolidayAwardRulePB pb, int dropId, UserActivityHolidayInfoPB userPb)
    {
        Desc          = pb.Desc;
        JumpTo        = pb.JumpTo;
        HolidayModule = pb.HolidayModule;
        IsDrop        = HolidayModule != HolidayModulePB.ActivityMall;
        DropItems     = pb.DropItems;

        //获取上限
        foreach (var t in DropItems)
        {
            if (t.DropItems.ResourceId == dropId)
            {
                Max = t.Limit;
                break;
            }
        }

        //获取当前掉落的值
        foreach (var t in  userPb.DropProgressMap)
        {
            if (t.HolidayType == HolidayModule)
            {
                foreach (var item in t.DropItem)
                {
                    if (dropId == item.ResourceId)
                    {
                        CurNum = item.Num;
                        break;
                    }
                }
                break;
            }
        }
    }
Exemple #2
0
        public DrawActivityDropItemVo(DroppingItemPB pb, List <RewardVo> rewardList, HolidayModulePB dropType)
        {
            ActivityId = pb.ActivityId;
            LimitNum   = GlobalData.ActivityModel.Limit(ActivityId, dropType);

            //单个的时候跟当前数量一致,多个的时候是使用最后一个的数量
            TotalNum = pb.CurrentNum;

            for (int i = 0; i < rewardList.Count; i++)
            {
                if (pb.ResourceId == rewardList[i].Id)
                {
                    DisplayIndex = i;
                    break;;
                }
            }
        }
Exemple #3
0
    /// <summary>
    /// 获取抽奖模块掉落上限
    /// </summary>
    /// <param name="activityId">活动Id</param>
    /// <param name="modulePb">对应模块</param>
    /// <returns></returns>
    public int Limit(int activityId, HolidayModulePB modulePb)
    {
        var consumeItemId = GetActivityDrawRules(activityId)[0].ConsumeType.ResourceId;
        var rules         = GetActivityHolidayAwardRules(activityId);

        foreach (var t in rules)
        {
            if (t.HolidayModule == modulePb)
            {
                var list = t.DropItems;
                foreach (var d in list)
                {
                    if (d.DropItems.ResourceId == consumeItemId)
                    {
                        return(d.Limit);
                    }
                }
            }
        }

        Debug.LogError("Limit is 0");
        return(0);
    }