法宝任务
parent
1470230ee4
commit
71d02b86d5
|
|
@ -122,10 +122,10 @@ public class UserMissionManager extends MongoBase {
|
||||||
if(TimeUtils.isSameMonth2(GameApplication.serverConfig.getCacheOpenTime(),TimeUtils.now())){
|
if(TimeUtils.isSameMonth2(GameApplication.serverConfig.getCacheOpenTime(),TimeUtils.now())){
|
||||||
int days = new Date(GameApplication.serverConfig.getCacheOpenTime()).getDate();//当月第几天
|
int days = new Date(GameApplication.serverConfig.getCacheOpenTime()).getDate();//当月第几天
|
||||||
missionIds = STableManager.getConfig(SDailyTasksConfig.class).values().stream().filter(n->days >=n.
|
missionIds = STableManager.getConfig(SDailyTasksConfig.class).values().stream().filter(n->days >=n.
|
||||||
getViewDateUp()&& days <=n.getViewDataDown()).map(n ->n.getId()).collect(Collectors.toSet());
|
getViewDateUp()&& days <=n.getViewDataDown()).map(SDailyTasksConfig::getId).collect(Collectors.toSet());
|
||||||
}else{
|
}else{
|
||||||
missionIds = STableManager.getConfig(SDailyTasksConfig.class).values().stream().filter(n->n.getViewDateUp() == 1).
|
missionIds = STableManager.getConfig(SDailyTasksConfig.class).values().stream().filter(n->n.getViewDateUp() == 1).
|
||||||
map(n ->n.getId()).collect(Collectors.toSet());
|
map(SDailyTasksConfig::getId).collect(Collectors.toSet());
|
||||||
}
|
}
|
||||||
int type = (int) parm[0];
|
int type = (int) parm[0];
|
||||||
if (type == 0) {
|
if (type == 0) {
|
||||||
|
|
@ -450,7 +450,7 @@ public class UserMissionManager extends MongoBase {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case JADE_DYNASTY_MISSION_REWARD:{
|
case JADE_DYNASTY_MISSION_REWARD:{
|
||||||
jadeDynastyMissionType.rewardMission(user, (int) parm[0], missionTypeEnumListMap.get(GameMisionType.JADE_DYNASTY_MISSION), jadeDynastyCumulationData);
|
jadeDynastyMissionType.rewardMission((int) parm[0], missionTypeEnumListMap.get(GameMisionType.JADE_DYNASTY_MISSION));
|
||||||
updateString("jadeDynastyMissionType",jadeDynastyMissionType);
|
updateString("jadeDynastyMissionType",jadeDynastyMissionType);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -789,7 +789,7 @@ public class MissionLoigc {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 破阵诛仙任务
|
// 破阵诛仙任务/主题活动任务
|
||||||
if(type == GameMisionType.JADE_DYNASTY_MISSION.getType()){
|
if(type == GameMisionType.JADE_DYNASTY_MISSION.getType()){
|
||||||
Map<GameMisionType, List<MissionStateChangeInfo>> gameMisionTypeListMap = userMissionManager.onGameEvent(user, GameEvent.JADE_DYNASTY_MISSION_REWARD, missionId);
|
Map<GameMisionType, List<MissionStateChangeInfo>> gameMisionTypeListMap = userMissionManager.onGameEvent(user, GameEvent.JADE_DYNASTY_MISSION_REWARD, missionId);
|
||||||
missionStateChangeInfos = gameMisionTypeListMap.get(GameMisionType.JADE_DYNASTY_MISSION);
|
missionStateChangeInfos = gameMisionTypeListMap.get(GameMisionType.JADE_DYNASTY_MISSION);
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ import java.util.Map;
|
||||||
* 任务子类添加,missionType
|
* 任务子类添加,missionType
|
||||||
*/
|
*/
|
||||||
public class DataManagerDistributor {
|
public class DataManagerDistributor {
|
||||||
private static Map<MissionType, BaseDataManager> judges = new HashMap<>();
|
private static final Map<MissionType, BaseDataManager> judges = new HashMap<>();
|
||||||
|
|
||||||
public static void init(){
|
public static void init(){
|
||||||
judges.put(MissionType.RECRUITMENT_RANDOM_HEROES,new RandomHeroDataManager());
|
judges.put(MissionType.RECRUITMENT_RANDOM_HEROES,new RandomHeroDataManager());
|
||||||
|
|
|
||||||
|
|
@ -11,5 +11,5 @@ import java.util.Map;
|
||||||
|
|
||||||
public interface BaseGameEventProcessor {
|
public interface BaseGameEventProcessor {
|
||||||
|
|
||||||
public void onGameEvent(User user, Map<GameMisionType, List<MissionStateChangeInfo>> misionTypeListMap, GameEvent event, Object ...parm) throws Exception;
|
void onGameEvent(User user, Map<GameMisionType, List<MissionStateChangeInfo>> misionTypeListMap, GameEvent event, Object ...parm) throws Exception;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
package com.ljsd.jieling.logic.mission.event;
|
|
||||||
|
|
||||||
import com.ljsd.jieling.logic.dao.root.User;
|
|
||||||
import com.ljsd.jieling.logic.mission.GameEvent;
|
|
||||||
import com.ljsd.jieling.logic.mission.GameMisionType;
|
|
||||||
import com.ljsd.jieling.logic.mission.main.MissionStateChangeInfo;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
public class BeginneRefreshEventProcessor implements BaseGameEventProcessor{
|
|
||||||
@Override
|
|
||||||
public void onGameEvent(User user, Map<GameMisionType, List<MissionStateChangeInfo>> misionTypeListMap, GameEvent event, Object... parm) throws Exception {
|
|
||||||
user.getUserMissionManager().openMission(user,event,misionTypeListMap, parm);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -8,7 +8,7 @@ import com.ljsd.jieling.logic.mission.main.MissionStateChangeInfo;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class CowFlySkyEventProcess implements BaseGameEventProcessor {
|
public class DefaultRefreshEventProcess implements BaseGameEventProcessor {
|
||||||
@Override
|
@Override
|
||||||
public void onGameEvent(User user, Map<GameMisionType, List<MissionStateChangeInfo>> misionTypeListMap, GameEvent event, Object... parm) throws Exception {
|
public void onGameEvent(User user, Map<GameMisionType, List<MissionStateChangeInfo>> misionTypeListMap, GameEvent event, Object... parm) throws Exception {
|
||||||
user.getUserMissionManager().openMission(user,event,misionTypeListMap,parm);
|
user.getUserMissionManager().openMission(user,event,misionTypeListMap,parm);
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
package com.ljsd.jieling.logic.mission.event;
|
|
||||||
|
|
||||||
import com.ljsd.jieling.logic.dao.root.User;
|
|
||||||
import com.ljsd.jieling.logic.mission.GameEvent;
|
|
||||||
import com.ljsd.jieling.logic.mission.GameMisionType;
|
|
||||||
import com.ljsd.jieling.logic.mission.main.MissionStateChangeInfo;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author lvxinran
|
|
||||||
* @date 2021/5/19
|
|
||||||
* @discribe
|
|
||||||
*/
|
|
||||||
public class EndlessMissionRefreshProcess implements BaseGameEventProcessor{
|
|
||||||
@Override
|
|
||||||
public void onGameEvent(User user, Map<GameMisionType, List<MissionStateChangeInfo>> misionTypeListMap, GameEvent event, Object... parm) throws Exception {
|
|
||||||
user.getUserMissionManager().openMission(user,event,misionTypeListMap,parm);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
package com.ljsd.jieling.logic.mission.event;
|
|
||||||
|
|
||||||
import com.ljsd.jieling.logic.dao.root.User;
|
|
||||||
import com.ljsd.jieling.logic.mission.GameEvent;
|
|
||||||
import com.ljsd.jieling.logic.mission.GameMisionType;
|
|
||||||
import com.ljsd.jieling.logic.mission.main.MissionStateChangeInfo;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
public class JadeDynastyRefreshEventProcess implements BaseGameEventProcessor {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onGameEvent(User user, Map<GameMisionType, List<MissionStateChangeInfo>> misionTypeListMap, GameEvent event, Object... parm) throws Exception {
|
|
||||||
user.getUserMissionManager().openMission(user,event,misionTypeListMap,parm);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -29,7 +29,7 @@ public class MissionEventDistributor {
|
||||||
/**
|
/**
|
||||||
* 任务刷新
|
* 任务刷新
|
||||||
*/
|
*/
|
||||||
private static Map<GameEvent, BaseGameEventProcessor> eventProcessor = new HashMap<>();
|
private static final Map<GameEvent, BaseGameEventProcessor> eventProcessor = new HashMap<>();
|
||||||
/**
|
/**
|
||||||
* 多条件使用,修改任务状态,存在多任务用同一方法时,需要在eventProcessor中使用
|
* 多条件使用,修改任务状态,存在多任务用同一方法时,需要在eventProcessor中使用
|
||||||
*/
|
*/
|
||||||
|
|
@ -60,21 +60,21 @@ public class MissionEventDistributor {
|
||||||
typeList.add(MissionType.HAVE_ID_STAR_LV_POKEMON_NUM);
|
typeList.add(MissionType.HAVE_ID_STAR_LV_POKEMON_NUM);
|
||||||
eventEnumListMap.put(GameEvent.DONGHAIXUNXIAN_UPDATE,typeList);
|
eventEnumListMap.put(GameEvent.DONGHAIXUNXIAN_UPDATE,typeList);
|
||||||
|
|
||||||
// 刷新任务
|
|
||||||
eventProcessor.put(GameEvent.MISSING_ROOM_REFRESH,new CumulationDataEventProcessor());
|
eventProcessor.put(GameEvent.MISSING_ROOM_REFRESH,new CumulationDataEventProcessor());
|
||||||
eventProcessor.put(GameEvent.DAILY_REFRESH,new DailyRefreshEventProcess());
|
// 刷新任务
|
||||||
eventProcessor.put(GameEvent.BLOODY_REFRESH,new DailyRefreshEventProcess());
|
eventProcessor.put(GameEvent.DAILY_REFRESH,new DefaultRefreshEventProcess());
|
||||||
eventProcessor.put(GameEvent.TREASH_REFRESH,new TreasureRefreshEventProcess());
|
eventProcessor.put(GameEvent.BLOODY_REFRESH,new DefaultRefreshEventProcess());
|
||||||
eventProcessor.put(GameEvent.TREASH_WEEK_REFRESH,new TreasureRefreshEventProcess());
|
eventProcessor.put(GameEvent.ACHIEVE_REFRESH,new DefaultRefreshEventProcess());
|
||||||
eventProcessor.put(GameEvent.ACHIEVE_REFRESH,new DailyRefreshEventProcess());
|
eventProcessor.put(GameEvent.TREASH_REFRESH,new DefaultRefreshEventProcess());
|
||||||
eventProcessor.put(GameEvent.TREASH_MONTH_REFRESH,new TreasureRefreshEventProcess());
|
eventProcessor.put(GameEvent.TREASH_WEEK_REFRESH,new DefaultRefreshEventProcess());
|
||||||
eventProcessor.put(GameEvent.SERVENHAPPY_REFRESH,new TreasureRefreshEventProcess());
|
eventProcessor.put(GameEvent.TREASH_MONTH_REFRESH,new DefaultRefreshEventProcess());
|
||||||
eventProcessor.put(GameEvent.BEGINNER,new BeginneRefreshEventProcessor());
|
eventProcessor.put(GameEvent.SERVENHAPPY_REFRESH,new DefaultRefreshEventProcess());
|
||||||
eventProcessor.put(GameEvent.JADE_DYNASTY_REFRESH,new JadeDynastyRefreshEventProcess());
|
eventProcessor.put(GameEvent.BEGINNER,new DefaultRefreshEventProcess());
|
||||||
eventProcessor.put(GameEvent.JADE_DYNASTY_WEEK_REFRESH,new JadeDynastyRefreshEventProcess());
|
eventProcessor.put(GameEvent.JADE_DYNASTY_REFRESH,new DefaultRefreshEventProcess());
|
||||||
eventProcessor.put(GameEvent.COW_FLY_SKY_REFRESH,new CowFlySkyEventProcess());
|
eventProcessor.put(GameEvent.JADE_DYNASTY_WEEK_REFRESH,new DefaultRefreshEventProcess());
|
||||||
eventProcessor.put(GameEvent.ENDLESS_MISSION_REFRESH,new EndlessMissionRefreshProcess());
|
eventProcessor.put(GameEvent.COW_FLY_SKY_REFRESH,new DefaultRefreshEventProcess());
|
||||||
eventProcessor.put(GameEvent.MISTY_TRIP_REFRESH,new MistyTripMissionRefreshProcess());//缥缈之旅刷新开始
|
eventProcessor.put(GameEvent.ENDLESS_MISSION_REFRESH,new DefaultRefreshEventProcess());
|
||||||
|
eventProcessor.put(GameEvent.MISTY_TRIP_REFRESH,new DefaultRefreshEventProcess());//缥缈之旅刷新开始
|
||||||
|
|
||||||
|
|
||||||
typeList = new ArrayList<>();
|
typeList = new ArrayList<>();
|
||||||
|
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
package com.ljsd.jieling.logic.mission.event;
|
|
||||||
|
|
||||||
import com.ljsd.jieling.logic.dao.root.User;
|
|
||||||
import com.ljsd.jieling.logic.mission.GameEvent;
|
|
||||||
import com.ljsd.jieling.logic.mission.GameMisionType;
|
|
||||||
import com.ljsd.jieling.logic.mission.main.MissionStateChangeInfo;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
public class MistyTripMissionRefreshProcess implements BaseGameEventProcessor{
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onGameEvent(User user, Map<GameMisionType, List<MissionStateChangeInfo>> misionTypeListMap, GameEvent event, Object... parm) throws Exception {
|
|
||||||
user.getUserMissionManager().openMission(user,event,misionTypeListMap,parm);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
package com.ljsd.jieling.logic.mission.event;
|
|
||||||
|
|
||||||
import com.ljsd.jieling.logic.dao.root.User;
|
|
||||||
import com.ljsd.jieling.logic.mission.GameEvent;
|
|
||||||
import com.ljsd.jieling.logic.mission.GameMisionType;
|
|
||||||
import com.ljsd.jieling.logic.mission.main.MissionStateChangeInfo;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
public class TreasureRefreshEventProcess implements BaseGameEventProcessor {
|
|
||||||
@Override
|
|
||||||
public void onGameEvent(User user, Map<GameMisionType, List<MissionStateChangeInfo>> misionTypeListMap, GameEvent event, Object... parm) throws Exception {
|
|
||||||
user.getUserMissionManager().openMission(user,event,misionTypeListMap,parm);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -23,7 +23,6 @@ public class UserLevelEventProcessor implements BaseGameEventProcessor{
|
||||||
for (MissionType type : typeList) {
|
for (MissionType type : typeList) {
|
||||||
user.getUserMissionManager().calCumulationDataResult(user,type,misionTypeListMap,parm);
|
user.getUserMissionManager().calCumulationDataResult(user,type,misionTypeListMap,parm);
|
||||||
}
|
}
|
||||||
int oldLevel = (int)parm[0];
|
|
||||||
int upLevel = (int)parm[1];
|
int upLevel = (int)parm[1];
|
||||||
|
|
||||||
ISession session = OnlineUserManager.getSessionByUid(user.getId());
|
ISession session = OnlineUserManager.getSessionByUid(user.getId());
|
||||||
|
|
|
||||||
|
|
@ -9,11 +9,8 @@ import com.ljsd.jieling.logic.mission.data.AbstractDataManager;
|
||||||
import com.ljsd.jieling.logic.mission.data.BaseDataManager;
|
import com.ljsd.jieling.logic.mission.data.BaseDataManager;
|
||||||
import com.ljsd.jieling.logic.mission.data.DataManagerDistributor;
|
import com.ljsd.jieling.logic.mission.data.DataManagerDistributor;
|
||||||
import config.SThemeActivityTaskConfig;
|
import config.SThemeActivityTaskConfig;
|
||||||
import config.STreasureSunlongTaskConfig;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
public class JadeDynastyMissionType extends AbstractMissionType{
|
public class JadeDynastyMissionType extends AbstractMissionType{
|
||||||
|
|
@ -33,11 +30,10 @@ public class JadeDynastyMissionType extends AbstractMissionType{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void rewardMission(User user,int missionId, List<MissionStateChangeInfo> missionTypeEnumListMap, CumulationData cumulationData) throws Exception {
|
public void rewardMission(int missionId, List<MissionStateChangeInfo> missionTypeEnumListMap) {
|
||||||
SThemeActivityTaskConfig taskConfig = SThemeActivityTaskConfig.idTaskConfig.get(missionId);
|
SThemeActivityTaskConfig taskConfig = SThemeActivityTaskConfig.idTaskConfig.get(missionId);
|
||||||
if(taskConfig == null){return;}
|
if (taskConfig == null || !getFinishMissionIds().contains(missionId)) {
|
||||||
if (!getFinishMissionIds().contains(missionId)) {
|
return;
|
||||||
return ;
|
|
||||||
}
|
}
|
||||||
MissionStateChangeInfo stateChangeInfo = new MissionStateChangeInfo(missionId, MissionState.REWARD,taskConfig.getIntegral());
|
MissionStateChangeInfo stateChangeInfo = new MissionStateChangeInfo(missionId, MissionState.REWARD,taskConfig.getIntegral());
|
||||||
missionTypeEnumListMap.add(stateChangeInfo);
|
missionTypeEnumListMap.add(stateChangeInfo);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue