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; } } }
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;; } } }
/// <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); }