Merge branch 'master_huanxiang' into master_ob2

# Conflicts:
#	serverlogic/src/main/java/com/ljsd/jieling/logic/dao/CumulationData.java
#	serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FabaoDrawTaskManager.java
PC-202302260912\Administrator 2023-07-21 19:00:40 +08:00
commit c91ebe929d
7 changed files with 13 additions and 74 deletions

View File

@ -42,11 +42,7 @@ public class Poster {
}
public <T extends IEvent> boolean listenEvent(IEventHandler eh, Class<T> c) {
Set<IEventHandler> ehs = listenMap.get(c);
if (ehs == null) {
ehs = new HashSet<>();
listenMap.put(c, ehs);
}
Set<IEventHandler> ehs = listenMap.computeIfAbsent(c, k -> new HashSet<>());
return ehs.add(eh);
}

View File

@ -14,7 +14,6 @@ public class CumulationData {
// private Map<Integer,Integer> randomCountMap = new HashMap<>(); // 抽卡次数统计
private int recruitmentRands; //群英征募 群英招募次数
private int fabaoDrawNum;
public int elementRands; //群英征募 群英招募次数
/**

View File

@ -519,7 +519,7 @@ public class UserMissionManager extends MongoBase {
* @throws Exception
*/
public void calCumulationDataResult(User user, MissionType missionType, Map<GameMisionType, List<MissionStateChangeInfo>> missionTypeEnumListMap , Object...parm) throws Exception {
if( missionType == MissionType.BLOODY_KILL_NUMS ){
if(missionType == MissionType.BLOODY_KILL_NUMS ){
if(!bloodyMissionIdsType.getDoingMissionIds().isEmpty()){
CumulationData.Result result = new CumulationData.Result(missionType, 0);
bloodyMissionIdsType.calCumulationDataResult(user,result,missionTypeEnumListMap.get(GameMisionType.BLOODYMISSION),null);
@ -555,15 +555,8 @@ public class UserMissionManager extends MongoBase {
if(!treasureMissionIdsType.getDoingMissionIds().isEmpty() ){
List<STreasureSunlongTaskConfig> sTreasureTaskConfigs = STreasureSunlongTaskConfig.sTreasureTaskConfigListByTypeMapTmp.get(missionType.getMissionTypeValue());
if(sTreasureTaskConfigs!=null){
//CumulationData.Result result = treasureCumulationData.updateData(missionType, parm);
CumulationData.Result weekResult = treasureWeekCumulationData.updateData(missionType, parm);
CumulationData.Result monthResult = treasureMonthCumulationData.updateData(missionType, parm);
/*if(result!=null){
result.setMissionTimeType(1);
treasureMissionIdsType.calCumulationDataResult(user,result,missionTypeEnumListMap.get(GameMisionType.TREASUREMISSION),treasureCumulationData);
updateString("treasureCumulationData",treasureCumulationData);
updateString("treasureMissionIdsType",treasureMissionIdsType);
}*/
if(weekResult!=null){
weekResult.setMissionTimeType(2);
treasureMissionIdsType.calCumulationDataResult(user,weekResult,missionTypeEnumListMap.get(GameMisionType.TREASUREMISSION),treasureWeekCumulationData);
@ -573,7 +566,6 @@ public class UserMissionManager extends MongoBase {
if(monthResult!=null){
monthResult.setMissionTimeType(3);
treasureMissionIdsType.calCumulationDataResult(user,monthResult,missionTypeEnumListMap.get(GameMisionType.TREASUREMISSION),treasureMonthCumulationData);
updateString("treasureMonthCumulationData",treasureMonthCumulationData);
updateString("treasureMissionIdsType",treasureMissionIdsType);
}

View File

@ -12,7 +12,7 @@ import com.ljsd.jieling.logic.mission.MissionType;
public class FabaoDrawTaskManager extends AbstractDataManager{
@Override
public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) {
data.setFabaoDrawNum(data.getFabaoDrawNum()+1);
data.setFabaoDrawNum(data.getFabaoDrawNum()+(int)parm[1]);
return new CumulationData.Result(missionType);
}
@ -20,4 +20,9 @@ public class FabaoDrawTaskManager extends AbstractDataManager{
public int getProcess(User user, CumulationData data, int[] missionSubType) {
return data.getFabaoDrawNum();
}
@Override
public boolean isFinish(User user, CumulationData data, int[][] cfgValue, Object... parm) {
return data.getFabaoDrawNum() >= cfgValue[1][0];
}
}

View File

@ -1,24 +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.MissionType;
import com.ljsd.jieling.logic.mission.main.MissionStateChangeInfo;
import java.util.List;
import java.util.Map;
/**
*
*
*/
public class DefaultMissionUpdateProcessor implements BaseGameEventProcessor{
@Override
public void onGameEvent(User user, Map<GameMisionType, List<MissionStateChangeInfo>> misionTypeListMap, GameEvent event, Object... parm) throws Exception {
List<MissionType> typeList = MissionEventDistributor.eventEnumListMap.get(event);
for (MissionType type : typeList) {
user.getUserMissionManager().calCumulationDataResult(user,type,misionTypeListMap,parm);
}
}
}

View File

@ -44,7 +44,7 @@ public class MissionEventDistributor {
typeList.add(MissionType.HOME_ARCHITECTURE_ONE_LV);
typeList.add(MissionType.HOME_ARCHITECTURE_TOTAL_LV);
eventEnumListMap.put(GameEvent.HOME_TASK_UPDATE,typeList);
eventProcessor.put(GameEvent.HOME_TASK_UPDATE,new DefaultMissionUpdateProcessor());
eventProcessor.put(GameEvent.HOME_TASK_UPDATE,new CumulationDataEventProcessor());
// 任务奖励
eventProcessor.put(GameEvent.HOME_TASK_REWARD,new RewardEventProcessor());
@ -52,13 +52,6 @@ public class MissionEventDistributor {
eventProcessor.put(GameEvent.DONGHAIXUNXIAN_INIT, new DefaultMissionRefreshProcess());
eventProcessor.put(GameEvent.DONGHAIXUNXIAN_REWARD, new RewardEventProcessor());
eventProcessor.put(GameEvent.DONGHAIXUNXIAN_UPDATE, new DonghaiXunxianMissionUpdateProcessor());
typeList = new ArrayList<>();
typeList.add(MissionType.FANGCUNXUNBAO_NUM);
typeList.add(MissionType.TIANDIHONGLU_NUM);
typeList.add(MissionType.TIANDIHONGLU_NUM);
typeList.add(MissionType.GET_TRANSFIGURATION_CARD_NUM);
typeList.add(MissionType.HAVE_ID_STAR_LV_POKEMON_NUM);
eventEnumListMap.put(GameEvent.DONGHAIXUNXIAN_UPDATE,typeList);
eventProcessor.put(GameEvent.MISSING_ROOM_REFRESH,new CumulationDataEventProcessor());
// 刷新任务
@ -96,7 +89,7 @@ public class MissionEventDistributor {
typeList.add(MissionType.VIP_LEVEL);
typeList.add(MissionType.VIP_LEVEL);
eventEnumListMap.put(GameEvent.VIP_LEVLUP,typeList);
eventProcessor.put(GameEvent.VIP_LEVLUP,new VipLevelUpEventProcessor());
eventProcessor.put(GameEvent.VIP_LEVLUP,new CumulationDataEventProcessor());
typeList = new ArrayList<>();
typeList.add(MissionType.COLLECT_QUALITY_HERO);
@ -590,13 +583,13 @@ public class MissionEventDistributor {
typeList = new ArrayList<>();
typeList.add(MissionType.XIUXING_LEVEL);
eventEnumListMap.put(GameEvent.XIUXING_UP, typeList);
eventProcessor.put(GameEvent.XIUXING_UP, new DefaultMissionUpdateProcessor());
eventProcessor.put(GameEvent.XIUXING_UP, new CumulationDataEventProcessor());
// 逍遥有消耗云游值num点
typeList = new ArrayList<>();
typeList.add(MissionType.XIAOYAOYOU_CONSUME_NUM);
eventEnumListMap.put(GameEvent.XIAOYAOYOU_CONSUME, typeList);
eventProcessor.put(GameEvent.XIAOYAOYOU_CONSUME, new DefaultMissionUpdateProcessor());
eventProcessor.put(GameEvent.XIAOYAOYOU_CONSUME, new CumulationDataEventProcessor());
// 副本挑战,包含(挑战副本,轩辕宝镜,十绝阵,七界试炼)等
typeList = new ArrayList<>();
@ -605,7 +598,7 @@ public class MissionEventDistributor {
typeList.add(MissionType.SHIJUE_INSTANCE_ZONES_NUM);
typeList.add(MissionType.QIJIE_INSTANCE_ZONES_NUM);
eventEnumListMap.put(GameEvent.INSTANCE_ZONES_CHALLENGE, typeList);
eventProcessor.put(GameEvent.INSTANCE_ZONES_CHALLENGE, new DefaultMissionUpdateProcessor());
eventProcessor.put(GameEvent.INSTANCE_ZONES_CHALLENGE, new CumulationDataEventProcessor());
}

View File

@ -1,22 +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.MissionType;
import com.ljsd.jieling.logic.mission.main.MissionStateChangeInfo;
import java.util.List;
import java.util.Map;
public class VipLevelUpEventProcessor implements BaseGameEventProcessor {
@Override
public void onGameEvent(User user, Map<GameMisionType, List<MissionStateChangeInfo>> missionTypeEnumListMap, GameEvent event, Object... parm) throws Exception {
user.getUserMissionManager().openMission(user,event, missionTypeEnumListMap,parm);
List<MissionType> typeList = MissionEventDistributor.eventEnumListMap.get(event);
for (MissionType type : typeList) {
user.getUserMissionManager().calCumulationDataResult(user,type,missionTypeEnumListMap,parm);
}
}
}