fix activity

back_recharge
wangyuan 2019-10-15 10:22:08 +08:00
parent 8a4efef55c
commit 8f34ad884a
2 changed files with 29 additions and 11 deletions

View File

@ -103,20 +103,23 @@ public class ActivityLogic {
if (now < startTime) {
continue;
}
int ifOpen = sGlobalActivity.getIfOpen();
if(ifOpen!=0 && GameApplication.serverConfig.getCacheOpenTime() + ifOpen*TimeUtils.ONE_DAY - startTime >0){
continue;
int[] ifOpen = sGlobalActivity.getIfOpen();
if(ifOpen!=null && ifOpen.length>0){
if(ifOpen[0]==2){ //开服
if(GameApplication.serverConfig.getCacheOpenTime() + ifOpen[1]*TimeUtils.ONE_DAY - startTime >0){
continue;
}
}
}
if (endTime != 0 && now > endTime) {
if (openActivityIds.contains(sGlobalActivity.getId())) {
openActivityIds.remove(sGlobalActivity.getId());
AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(sGlobalActivity.getId());
if (null == abstractActivity) {
continue;
}
abstractActivity.onActivityEnd();
}
continue;
}
@ -186,11 +189,18 @@ public class ActivityLogic {
ActivityManager activityManager = user.getActivityManager();
Map<Integer, SGlobalActivity> sGlobalActivityMap = SGlobalActivity.getsGlobalActivityMap();
Set<Integer> openNewActivityIds = new HashSet<>();
long userCreateTime = user.getPlayerInfoManager().getCreateTime();
//初始化活动 绝对时间和相对开服时间
for (Integer openActivityId : openActivityIds) {
SGlobalActivity sGlobalActivity = sGlobalActivityMap.get(openActivityId);
int[] ifOpen = sGlobalActivity.getIfOpen();
if(ifOpen!=null && ifOpen.length>0){
if(ifOpen[0]==1){ //创角
if(userCreateTime + ifOpen[1]*TimeUtils.ONE_DAY - now >0){
continue;
}
}
}
ActivityMission activityMission = activityManager.getActivityMissionMap().get(openActivityId);
if (activityMission != null) {
continue;
@ -212,11 +222,19 @@ public class ActivityLogic {
}
}
Map<Integer, ActivityMission> activityMissionMap = activityManager.getActivityMissionMap();
long userCreateTime = user.getPlayerInfoManager().getCreateTime();
for (SGlobalActivity sGlobalActivity : sGlobalActivityMap.values()) {
int activityId = sGlobalActivity.getId();
if (openActivityIds.contains(activityId)) {
continue;
int[] ifOpen = sGlobalActivity.getIfOpen();
if(ifOpen!=null && ifOpen.length>0){
if(ifOpen[0]==1){ //创角
if(userCreateTime + ifOpen[1]*TimeUtils.ONE_DAY - now >0){
continue;
}
}
}else{
continue;
}
}
int time = sGlobalActivity.getTime();
if (time == ActivityType.OPEN_TYPE_ROLE) {

View File

@ -31,7 +31,7 @@ public class SGlobalActivity implements BaseConfig {
private int isMail;
private int ifOpen;
private int[] ifOpen;
private int shopId;
@ -112,7 +112,7 @@ public class SGlobalActivity implements BaseConfig {
return isMail;
}
public int getIfOpen() {
public int[] getIfOpen() {
return ifOpen;
}