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