连续礼包优化,bug修改提交
parent
f0b55b5ffb
commit
910670c66c
|
@ -1,13 +1,9 @@
|
|||
package com.ljsd.jieling.logic.activity;
|
||||
|
||||
import com.ljsd.GameApplication;
|
||||
import com.ljsd.jieling.globals.Global;
|
||||
import com.ljsd.jieling.jbean.ActivityMission;
|
||||
import com.ljsd.jieling.jbean.ActivityProgressInfo;
|
||||
import com.ljsd.jieling.logic.OnlineUserManager;
|
||||
import com.ljsd.jieling.logic.activity.AbstractActivity;
|
||||
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
||||
import com.ljsd.jieling.logic.activity.ActivityType;
|
||||
import com.ljsd.jieling.logic.activity.event.ActivityStateChangeEvent;
|
||||
import com.ljsd.jieling.logic.activity.event.IEvent;
|
||||
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||
|
@ -112,7 +108,7 @@ public class ContinuousGiftActivity extends AbstractActivity {
|
|||
* 不要问我为啥写的这么恶心,因为我自己也不知怎么写出来的
|
||||
* @param user
|
||||
*/
|
||||
private int getProgress(User user,int missionId){
|
||||
private int getState(User user, int missionId){
|
||||
// 活动信息是否为null
|
||||
ActivityMission mission = user.getActivityManager().getActivityMissionMap().get(id);
|
||||
int days = mission.getV();
|
||||
|
@ -184,15 +180,15 @@ public class ContinuousGiftActivity extends AbstractActivity {
|
|||
for (Map.Entry<Integer, SThemeActivityShop> entry : themeMap.entrySet()) {
|
||||
// 参数初始化
|
||||
int missionId = entry.getKey();
|
||||
int progress = getProgress(user,missionId);
|
||||
if (progress == 0){
|
||||
int state = getState(user,missionId);
|
||||
if (state == 0){
|
||||
continue;
|
||||
}
|
||||
int state = progress==8?1:0;
|
||||
int progrss = progressInfoMap.getOrDefault(missionId, new ActivityProgressInfo()).getProgrss();
|
||||
// 封装proto并返回
|
||||
CommonProto.ActivityInfo.MissionInfo build = CommonProto.ActivityInfo.MissionInfo.newBuilder()
|
||||
.setMissionId(missionId)
|
||||
.setProgress(progress)
|
||||
.setProgress(progrss)
|
||||
.setState(state)
|
||||
.build();
|
||||
missionInfos.add(build);
|
||||
|
@ -282,7 +278,7 @@ public class ContinuousGiftActivity extends AbstractActivity {
|
|||
Map<Integer, ActivityProgressInfo> missionMap = user.getActivityManager().getActivityMissionMap().get(id).getActivityMissionMap();
|
||||
SThemeActivityShop themes = STableManager.getConfig(SThemeActivityShop.class).get(boxId);
|
||||
// 非空
|
||||
if (missionMap.isEmpty() || themes == null){
|
||||
if (themes == null){
|
||||
return false;
|
||||
}
|
||||
// 0表示没有前置条件
|
||||
|
@ -290,7 +286,7 @@ public class ContinuousGiftActivity extends AbstractActivity {
|
|||
return true;
|
||||
}
|
||||
// 前置礼包状态验证
|
||||
ActivityProgressInfo info = missionMap.get(themes.getLimitPackFId());
|
||||
ActivityProgressInfo info = Optional.ofNullable(missionMap).map(v->v.get(themes.getLimitPackFId())).orElse(null);
|
||||
// info为null代表没有前置条件, state==1代表已买过
|
||||
if (info != null && info.getState() == 8){
|
||||
return true;
|
||||
|
@ -352,9 +348,9 @@ public class ContinuousGiftActivity extends AbstractActivity {
|
|||
Map<Integer, SThemeActivityShop> themes = SThemeActivityShop.themeMap.get(id);
|
||||
|
||||
for (Map.Entry<Integer, SThemeActivityShop> entry : themes.entrySet()) {
|
||||
int progress = getProgress(user, entry.getKey());
|
||||
int state = getState(user, entry.getKey());
|
||||
// 不可购买的礼包
|
||||
if (progress != 1 || progress == 0){
|
||||
if (state != 1){
|
||||
set.add(entry.getValue().getGoodId());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -282,7 +282,7 @@ public class SuperBoxActivity extends AbstractActivity {
|
|||
Map<Integer, ActivityProgressInfo> missionMap = user.getActivityManager().getActivityMissionMap().get(id).getActivityMissionMap();
|
||||
SSurpriseBox box = STableManager.getConfig(SSurpriseBox.class).get(boxId);
|
||||
// 非空
|
||||
if (missionMap.isEmpty() || box == null){
|
||||
if (box == null){
|
||||
return false;
|
||||
}
|
||||
// 0表示没有前置条件
|
||||
|
@ -290,7 +290,7 @@ public class SuperBoxActivity extends AbstractActivity {
|
|||
return true;
|
||||
}
|
||||
// 前置礼包状态验证
|
||||
ActivityProgressInfo info = missionMap.get(box.getLimitPackFId());
|
||||
ActivityProgressInfo info = Optional.ofNullable(missionMap).map(v->v.get(box.getLimitPackFId())).orElse(null);
|
||||
// info为null代表没有前置条件, state==1代表已买过
|
||||
if (info != null && info.getState() == ActivityType.HAD_TAKED){
|
||||
return true;
|
||||
|
|
Loading…
Reference in New Issue