牛气冲天兼容
parent
ba6a32a114
commit
6d8a430fab
|
@ -178,33 +178,11 @@ public class ActivityLogic implements IEventHandler{
|
|||
openActivityIds.remove(sGlobalActivity.getId());
|
||||
continue;
|
||||
}
|
||||
int[] ifOpen = sGlobalActivity.getIfOpen();
|
||||
|
||||
// 开服条件判断
|
||||
if(ifOpen!=null && ifOpen.length>0){
|
||||
//开服多少天不会出现
|
||||
if(ifOpen[0]==2){
|
||||
if(GameApplication.serverConfig.getCacheOpenTime() + ifOpen[1]*TimeUtils.ONE_DAY >TimeUtils.now()){
|
||||
continue;
|
||||
}
|
||||
}
|
||||
// 在某某时间之前开服不会出现
|
||||
if (ifOpen[0] == 3){
|
||||
long toMiles = TimeUtils.stringToTimeLong(String.valueOf(ifOpen[1]), TimeUtils.ymdFormat);
|
||||
long openTime = GameApplication.serverConfig.getCacheOpenTime();
|
||||
if (toMiles < openTime){
|
||||
openActivityIds.remove(sGlobalActivity.getId());
|
||||
continue;
|
||||
}
|
||||
}
|
||||
// 在某某时间之后开服不会出现
|
||||
if (ifOpen[0] == 4){
|
||||
long toMiles = TimeUtils.stringToTimeLong(String.valueOf(ifOpen[1]), TimeUtils.ymdFormat);
|
||||
long openTime = GameApplication.serverConfig.getCacheOpenTime();
|
||||
if (toMiles > openTime){
|
||||
openActivityIds.remove(sGlobalActivity.getId());
|
||||
continue;
|
||||
}
|
||||
}
|
||||
boolean open = SGlobalActivity.checkActivityIfOpen(sGlobalActivity.getId(),0,GameApplication.serverConfig.getCacheOpenTime());
|
||||
if (!open){
|
||||
continue;
|
||||
}
|
||||
if (endTime != 0 && now > endTime) {
|
||||
if (!openActivityIds.contains(sGlobalActivity.getId())) {
|
||||
|
@ -227,8 +205,9 @@ public class ActivityLogic implements IEventHandler{
|
|||
if (null == abstractActivity) {
|
||||
continue;
|
||||
}
|
||||
if(openActivityIds.contains(sGlobalActivity.getId()))
|
||||
if(openActivityIds.contains(sGlobalActivity.getId())) {
|
||||
continue;
|
||||
}
|
||||
abstractActivity.onActivityStart();
|
||||
openActivityIds.add(sGlobalActivity.getId());
|
||||
}
|
||||
|
@ -341,7 +320,7 @@ public class ActivityLogic implements IEventHandler{
|
|||
public LuckWheelMission getLuckWheel(ActivityManager activityManager, int type) {
|
||||
LuckWheelMission luckWheelMission = type == ActivityType.LUCK_WHEEL ? activityManager.getLuckWheel() : activityManager.getLuckWheelAdvance();
|
||||
if (null == luckWheelMission) {
|
||||
String key = type == ActivityType.LUCK_WHEEL ? "luckWheel" : "luckWheelAdvance";
|
||||
// String key = type == ActivityType.LUCK_WHEEL ? "luckWheel" : "luckWheelAdvance";
|
||||
if (type == ActivityType.LUCK_WHEEL) {
|
||||
luckWheelMission = new LuckWheelMission();
|
||||
activityManager.setLuckWheel(luckWheelMission);
|
||||
|
@ -356,7 +335,7 @@ public class ActivityLogic implements IEventHandler{
|
|||
public void initLuckWheel(ActivityManager activityManager,int type) {
|
||||
LuckWheelMission luckWheelMission = type == ActivityType.LUCK_WHEEL ? activityManager.getLuckWheel() : activityManager.getLuckWheelAdvance();
|
||||
if (null != luckWheelMission) {
|
||||
String key = type == ActivityType.LUCK_WHEEL ? "luckWheel" : "luckWheelAdvance";
|
||||
// String key = type == ActivityType.LUCK_WHEEL ? "luckWheel" : "luckWheelAdvance";
|
||||
if (type == ActivityType.LUCK_WHEEL) {
|
||||
activityManager.setLuckWheel(luckWheelMission);
|
||||
} else {
|
||||
|
@ -379,11 +358,10 @@ public class ActivityLogic implements IEventHandler{
|
|||
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;
|
||||
}
|
||||
//创角
|
||||
if(ifOpen!=null && ifOpen.length>0 && ifOpen[0]==1){
|
||||
if(userCreateTime + ifOpen[1]*TimeUtils.ONE_DAY > now){
|
||||
continue;
|
||||
}
|
||||
}
|
||||
ActivityMission activityMission = activityManager.getActivityMissionMap().get(openActivityId);
|
||||
|
@ -414,11 +392,7 @@ public class ActivityLogic implements IEventHandler{
|
|||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
// if(!initOtherActivity(user, sGlobalActivity)){
|
||||
initAllActivityMission(activityManager.getActivityMissionMap(),openActivityId);
|
||||
// }
|
||||
|
||||
initAllActivityMission(activityManager.getActivityMissionMap(),openActivityId);
|
||||
AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(openActivityId);
|
||||
if (null==abstractActivity) {
|
||||
continue;
|
||||
|
@ -439,15 +413,13 @@ public class ActivityLogic implements IEventHandler{
|
|||
int activityId = sGlobalActivity.getId();
|
||||
if (openActivityIds.contains(activityId)) {
|
||||
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;
|
||||
}
|
||||
}else{
|
||||
if (ifOpen == null || ifOpen.length <= 0){
|
||||
continue;
|
||||
}
|
||||
if (ifOpen[0]!=1){
|
||||
continue;
|
||||
}
|
||||
if (userCreateTime + ifOpen[1]*TimeUtils.ONE_DAY > now){
|
||||
continue;
|
||||
}
|
||||
} else if (activityMissionMap.containsKey(activityId)) {
|
||||
|
@ -483,7 +455,7 @@ public class ActivityLogic implements IEventHandler{
|
|||
// ReportUtil.onReportEvent(user, ReportEventEnum.JOIN_ACTIVITY.getType(),String.valueOf(activityId));
|
||||
abstractActivity.initActivity(user);
|
||||
// if(!initOtherActivity(user, sGlobalActivity)){
|
||||
initAllActivityMission(activityManager.getActivityMissionMap(),activityId);
|
||||
initAllActivityMission(activityManager.getActivityMissionMap(),activityId);
|
||||
//
|
||||
int activityOpenState = getActivityOpenState(user, activityId );
|
||||
abstractActivity.setOpenState(user,activityOpenState);
|
||||
|
@ -553,7 +525,7 @@ public class ActivityLogic implements IEventHandler{
|
|||
MessageUtil.sendIndicationMessage(session, 1, MessageTypeProto.MessageType.LUCKWHEEL_POOL_INDICATION_VALUE, builder.build(), true);
|
||||
}
|
||||
|
||||
public List<CommonProto.ActivityInfo> getActivityInfos(Map<Integer, ActivityMission> activityMissionMap, long createTime) {
|
||||
public List<CommonProto.ActivityInfo> getActivityInfos(Map<Integer, ActivityMission> activityMissionMap, long createTime) {
|
||||
Map<Integer, SGlobalActivity> sGlobalActivityMap = SGlobalActivity.getsGlobalActivityMap();
|
||||
List<CommonProto.ActivityInfo> activityInfoList = new ArrayList<>(activityMissionMap.size());
|
||||
for (Map.Entry<Integer, ActivityMission> activityState : activityMissionMap.entrySet()) {
|
||||
|
@ -600,7 +572,6 @@ public class ActivityLogic implements IEventHandler{
|
|||
int endTime;
|
||||
if(sGlobalActivity.getGapTime()!=0){
|
||||
endTime = (int) (ToolsUtil.getEndTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),createTime, sGlobalActivity.getGapTime()) / 1000);
|
||||
|
||||
}else{
|
||||
endTime = (int) (ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),createTime, 2) / 1000);
|
||||
}
|
||||
|
@ -656,7 +627,8 @@ public class ActivityLogic implements IEventHandler{
|
|||
ActivityMission value = item.getValue();
|
||||
if (value.getOpenType() == 0) {
|
||||
value.setOpenType(1);
|
||||
} }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.ljsd.jieling.logic.activity;
|
||||
|
||||
import com.ljsd.GameApplication;
|
||||
import com.ljsd.jieling.exception.ErrorCode;
|
||||
import com.ljsd.jieling.exception.ErrorCodeException;
|
||||
import com.ljsd.jieling.globals.BIReason;
|
||||
|
@ -35,6 +36,10 @@ public class CowFlySkyActivity extends AbstractActivity {
|
|||
|
||||
@Override
|
||||
public void initActivity(User user) throws Exception {
|
||||
boolean open = SGlobalActivity.checkActivityIfOpen(id, user.getPlayerInfoManager().getCreateTime(), GameApplication.serverConfig.getCacheOpenTime());
|
||||
if (!open){
|
||||
return;
|
||||
}
|
||||
ActivityMission mission = new ActivityMission();
|
||||
List<SActivityRewardConfig> rewardConfigs = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id);
|
||||
ArrayList<Integer> integers = new ArrayList<>(rewardConfigs.size());
|
||||
|
|
|
@ -81,11 +81,6 @@ public class SGlobalActivity implements BaseConfig {
|
|||
}
|
||||
sGlobalActivity.setStartTimeLong(Long.parseLong(startTime));
|
||||
sGlobalActivity.setEndTimeLong(Long.parseLong(endtime));
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
sGlobalActivityMap = config;
|
||||
sGlobalActivityMapByType = sGlobalActivityMapByTypeTmp;
|
||||
|
@ -93,6 +88,60 @@ public class SGlobalActivity implements BaseConfig {
|
|||
sRechargeId2ActivityId = sRechargeId2ActivityIdTemp;
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验活动开启条件
|
||||
* @param activityId
|
||||
* @param value
|
||||
* 对应位置参数传0,表示不需要验证
|
||||
* 条件参数,第一位:创角时间
|
||||
* 第二位:开服时间
|
||||
* @return
|
||||
*/
|
||||
public static boolean checkActivityIfOpen(int activityId, long... value){
|
||||
SGlobalActivity activity = sGlobalActivityMap.get(activityId);
|
||||
if (activity == null){
|
||||
return false;
|
||||
}
|
||||
// 开启条件
|
||||
int[] ifOpen = activity.getIfOpen();
|
||||
// 为空表示没有条件
|
||||
if (ifOpen == null || ifOpen.length <= 0){
|
||||
return true;
|
||||
}
|
||||
long now = TimeUtils.now();
|
||||
switch (ifOpen[0]){
|
||||
case 1:
|
||||
// 创角多少天后不开
|
||||
if (value[0] != 0 && value[0] + ifOpen[1]*TimeUtils.ONE_DAY > now){
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
// 开服后多少天不出现改活动
|
||||
if(value[1] != 0 && value[1] + ifOpen[1]*TimeUtils.ONE_DAY > now){
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
// 在某某时间之前开服不会出现
|
||||
long timeOpen3 = TimeUtils.stringToTimeLong(String.valueOf(ifOpen[1]), TimeUtils.ymdFormat);
|
||||
if (value[1] != 0 && value[1] < timeOpen3){
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
// 在某某时间之后开服不会出现
|
||||
long timeOpen4 = TimeUtils.stringToTimeLong(String.valueOf(ifOpen[1]), TimeUtils.ymdFormat);
|
||||
if (value[1] != 0 && value[1] > timeOpen4){
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public static Map<Integer, SGlobalActivity> getsGlobalActivityMap() {
|
||||
return sGlobalActivityMap;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue