From 66b7367e4d986f347c3f08db4d3d06b66eb365ee Mon Sep 17 00:00:00 2001 From: jiahuiwen <1024696487@qq.com> Date: Fri, 12 Apr 2019 14:50:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=B0=E5=9B=BE=E6=8E=A2=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/config/SCMapConfig.java | 50 --- .../ljsd/jieling/config/SChallengeConfig.java | 48 +++ .../jieling/config/SChallengeMapConfig.java | 35 +++ .../handler/GameGM/GMRequestHandler.java | 54 ++-- .../jieling/handler/GetPlayerInfoHandler.java | 9 +- .../jieling/handler/map/CrossMapCell.java | 34 --- .../ljsd/jieling/handler/map/MapLogic.java | 287 +++++++----------- .../ljsd/jieling/handler/map/MapManager.java | 64 ++-- .../MapStartExploreRequestHandler.java} | 10 +- .../handler/map/behavior/BehaviorUtil.java | 49 +-- .../map/behavior/DestroyMissionBehavior.java | 8 +- .../handler/map/behavior/DunBehavior.java | 113 ++++--- .../map/behavior/MonitorMissionBehavior.java | 7 - .../behavior/OpenAppointMissionBehavior.java | 32 -- .../behavior/OpenNotDoMissionBehavior.java | 30 -- .../handler/map/behavior/UseStepBehavior.java | 29 -- .../handler/mission/CheckMissionReturn.java | 3 + .../ljsd/jieling/handler/mission/Mission.java | 10 - .../jieling/handler/mission/MissionLogic.java | 139 --------- .../handler/mission/MissionManager.java | 59 ---- .../MissionTakeRewardRequestHandler.java | 24 -- .../mission/OpenMissionRequestHandler.java | 24 -- .../ljsd/jieling/logic/dao/UserManager.java | 13 - .../com/ljsd/jieling/logic/dao/root/User.java | 9 - .../ljsd/jieling/logic/fight/CombatLogic.java | 12 +- 25 files changed, 324 insertions(+), 828 deletions(-) delete mode 100644 serverlogic/src/main/java/com/ljsd/jieling/config/SCMapConfig.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/config/SChallengeConfig.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/config/SChallengeMapConfig.java delete mode 100644 serverlogic/src/main/java/com/ljsd/jieling/handler/map/CrossMapCell.java rename serverlogic/src/main/java/com/ljsd/jieling/handler/{mission/MissionGetAllRequestHandler.java => map/MapStartExploreRequestHandler.java} (60%) delete mode 100644 serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/OpenAppointMissionBehavior.java delete mode 100644 serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/OpenNotDoMissionBehavior.java delete mode 100644 serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/UseStepBehavior.java delete mode 100644 serverlogic/src/main/java/com/ljsd/jieling/handler/mission/MissionLogic.java delete mode 100644 serverlogic/src/main/java/com/ljsd/jieling/handler/mission/MissionManager.java delete mode 100644 serverlogic/src/main/java/com/ljsd/jieling/handler/mission/MissionTakeRewardRequestHandler.java delete mode 100644 serverlogic/src/main/java/com/ljsd/jieling/handler/mission/OpenMissionRequestHandler.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SCMapConfig.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SCMapConfig.java deleted file mode 100644 index c0323c1f0..000000000 --- a/serverlogic/src/main/java/com/ljsd/jieling/config/SCMapConfig.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.ljsd.jieling.config; - - -import com.ljsd.jieling.logic.STableManager; -import com.ljsd.jieling.logic.Table; - -import java.util.Map; - -@Table(name = "MapConfig") -public class SCMapConfig implements BaseConfig { - public static Map sCMapSize; - private int id; - private String info; - private int[] size; // 0:行 1列 - private int moveConfused; //地图上的行动力消耗 - private int energyConfused; //妖灵师精力消耗 - private int[] openRule; //开启条件 - @Override - public void init() throws Exception { - sCMapSize = STableManager.getConfig(SCMapConfig.class); - } - - public int getId() { - return id; - } - - public String getInfo() { - return info; - } - - public static Map getsCMapSize() { - return sCMapSize; - } - - public int[] getSize() { - return size; - } - - public int getMoveConfused() { - return moveConfused; - } - - public int getEnergyConfused() { - return energyConfused; - } - - public int[] getOpenRule() { - return openRule; - } -} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SChallengeConfig.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SChallengeConfig.java new file mode 100644 index 000000000..10d8f3525 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/SChallengeConfig.java @@ -0,0 +1,48 @@ +package com.ljsd.jieling.config; + +import com.ljsd.jieling.logic.STableManager; +import com.ljsd.jieling.logic.Table; + +import java.util.Map; + +@Table(name = "ChallengeConfig") +public class SChallengeConfig implements BaseConfig { + + @Override + public void init() throws Exception { + sChallengeConfigs = STableManager.getConfig(SChallengeConfig.class); + } + + public static Map sChallengeConfigs; + + private int id; + + private int mapId; + + private int[][] openRule; + + private int mapTime; + + private int[] reviveTime; + + + public int getId() { + return id; + } + + public int getMapId() { + return mapId; + } + + public int[][] getOpenRule() { + return openRule; + } + + public int getMapTime() { + return mapTime; + } + + public int[] getReviveTime() { + return reviveTime; + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SChallengeMapConfig.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SChallengeMapConfig.java new file mode 100644 index 000000000..030d3c7e1 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/SChallengeMapConfig.java @@ -0,0 +1,35 @@ +package com.ljsd.jieling.config; + +import com.ljsd.jieling.logic.STableManager; +import com.ljsd.jieling.logic.Table; + +import java.util.Map; + +@Table(name = "ChallengeMapConfig") +public class SChallengeMapConfig implements BaseConfig{ + + public static Map integerSChallengeMapConfigMap; + + @Override + public void init() throws Exception { + integerSChallengeMapConfigMap = STableManager.getConfig(SChallengeMapConfig.class); + } + + private int mapId; + + private int missionId; + + private int[] size; + + public int getMapId() { + return mapId; + } + + public int getMissionId() { + return missionId; + } + + public int[] getSize() { + return size; + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java index 73f4002e6..003babef3 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java @@ -92,34 +92,32 @@ public class GMRequestHandler extends BaseHandler{ } break; case GlobalGm.OPEN_MAP: - SCMapConfig scMapConfig = SCMapConfig.getsCMapSize().get(100 + prarm1); - Set missionIds = new HashSet<>(); - MapManager mapManager = cUser.getMapManager(); - if (scMapConfig != null) { - for (int i = 1; i <= prarm1; i++) { - int mapId = 100 + i; - SCMapConfig crossMap = SCMapConfig.getsCMapSize().get(mapId); - if (crossMap.getOpenRule() != null && crossMap.getOpenRule().length > 0) { - missionIds.add(crossMap.getOpenRule()[0]); - } - initFininshMapMission(mapManager,mapId); - } - } - cUser.getPlayerInfoManager().setMapId(scMapConfig.getId()); - SCMapConfig crossMap = SCMapConfig.getsCMapSize().get(scMapConfig.getId() + 1); - if (crossMap == null || crossMap.getOpenRule().length == 0) { - return; - } - Map doingMissions = cUser.getMissionManager().getDoingMissions(); - for (Integer key : doingMissions.keySet()) { - cUser.getMissionManager().removeDoingMissions(key); - } - Mission mission = new Mission(); - mission.setMissionId(crossMap.getOpenRule()[0]); - mission.setMissionStep(0); - mission.setOpen(false); - cUser.getMissionManager().updateOneDoingMissions(crossMap.getOpenRule()[0], mission); - cUser.getMissionManager().updateFinishMissions(missionIds); +// SChallengeMapConfig scMapConfig = SChallengeMapConfig.integerSChallengeMapConfigMap.get(100 + prarm1); +// Set missionIds = new HashSet<>(); +// MapManager mapManager = cUser.getMapManager(); +// if (scMapConfig != null) { +// for (int i = 1; i <= prarm1; i++) { +// int mapId = 100 + i; +// SCMapConfig crossMap = SCMapConfig.getsCMapSize().get(mapId); +// if (crossMap.getOpenRule() != null && crossMap.getOpenRule().length > 0) { +// missionIds.add(crossMap.getOpenRule()[0]); +// } +// initFininshMapMission(mapManager,mapId); +// } +// } +// cUser.getPlayerInfoManager().setMapId(scMapConfig.getId()); +// SCMapConfig crossMap = SCMapConfig.getsCMapSize().get(scMapConfig.getId() + 1); +// if (crossMap == null || crossMap.getOpenRule().length == 0) { +// return; +// } +// Map doingMissions = cUser.getMissionManager().getDoingMissions(); +// for (Integer key : doingMissions.keySet()) { +// cUser.getMissionManager().removeDoingMissions(key); +// } +// Mission mission = new Mission(); +// mission.setMissionId(crossMap.getOpenRule()[0]); +// mission.setMissionStep(0); +// cUser.getMissionManager().updateOneDoingMissions(crossMap.getOpenRule()[0], mission); break; case GlobalGm.ONE_KEY_ITEM_OR_HERO:{ //道具 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java index e640c8d79..d66eb4b19 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java @@ -1,9 +1,7 @@ package com.ljsd.jieling.handler; -import com.ljsd.jieling.handler.map.MapLogic; -import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.dao.UserManager; -import com.ljsd.jieling.logic.mail.MailLogic; +import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.netty.cocdex.PacketNetData; import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.protocols.CommonProto; @@ -47,11 +45,6 @@ public class GetPlayerInfoHandler extends BaseHandler{ // 需要隔天刷新的字段统一在这里处理 if (TimeUtils.isOverTime(0, user.getLoginTime())) { user.setLoginTime(TimeUtils.now()); - // 地图刷新 - MapLogic.getInstance().refreshMapInfo(user); - - - } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/CrossMapCell.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/CrossMapCell.java deleted file mode 100644 index 9ec1ee978..000000000 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/CrossMapCell.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.ljsd.jieling.handler.map; - -import java.util.HashSet; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; - -public class CrossMapCell { - - // missionId 存在某个地图的任务 - private Set missionIds = new HashSet<>(); - // 每日刷新 - private Map dayRefreshs = new ConcurrentHashMap<>(); - // 一次性事件 - private Map permanents = new ConcurrentHashMap<>(); - - private Map behaviorTriggers = new ConcurrentHashMap<>(); - - public Set getMissionIds() { - return missionIds; - } - - public Map getDayRefreshs() { - return dayRefreshs; - } - - public Map getPermanents() { - return permanents; - } - - public Map getBehaviorTriggers() { - return behaviorTriggers; - } -} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java index 1d2f4039a..0edfa7a12 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java @@ -2,11 +2,11 @@ package com.ljsd.jieling.handler.map; import com.googlecode.protobuf.format.JsonFormat; import com.ljsd.jieling.config.*; -import com.ljsd.jieling.core.GlobalsDef; import com.ljsd.jieling.db.redis.RedisKey; import com.ljsd.jieling.db.redis.RedisUtil; import com.ljsd.jieling.handler.map.behavior.BaseBehavior; import com.ljsd.jieling.handler.map.behavior.BehaviorUtil; +import com.ljsd.jieling.handler.mission.CheckMissionReturn; import com.ljsd.jieling.handler.mission.Mission; import com.ljsd.jieling.logic.dao.Hero; import com.ljsd.jieling.logic.dao.TeamPosHeroInfo; @@ -67,7 +67,6 @@ public class MapLogic { int uid = iSession.getUid(); User user = UserManager.getUser(uid); MapManager mapManager = user.getMapManager(); - int energy = mapManager.getEnergy(); if (teamId == 0) { LOGGER.info("enterMap() uid=>{} teamId =>{} ", uid, teamId); MessageUtil.sendErrorResponse(iSession, 0, messageType.getNumber(), ""); @@ -75,8 +74,7 @@ public class MapLogic { } // 初始序章地图 if (user.getPlayerInfoManager().getMapId() == 0) { - SCMapConfig scMapConfig = SCMapConfig.getsCMapSize().get(100); - String error = initTeamInfo(teamId, uid, user, mapManager, scMapConfig.getMoveConfused()); + String error = initTeamInfo(teamId, uid, user, mapManager); if (!error.isEmpty()){ LOGGER.info("enterMap() uid=>{} error =>{} ", uid, error); MessageUtil.sendErrorResponse(iSession, 0, messageType.getNumber(), ""); @@ -95,21 +93,21 @@ public class MapLogic { MessageUtil.sendErrorResponse(iSession, 0, messageType.getNumber(), ""); return; } - SCMapConfig scMapConfig = SCMapConfig.getsCMapSize().get(mapId); - if (scMapConfig == null || scMapConfig.getOpenRule() == null || scMapConfig.getOpenRule().length == 0) { - LOGGER.info("enterMap() uid=>{} mapId=>{}, scMapConfig.getOpenRule()=>{}", uid, mapId, scMapConfig == null ? "" : scMapConfig.getOpenRule()); - MessageUtil.sendErrorResponse(iSession, 0, messageType.getNumber(), ""); - return; - } - int missionId = scMapConfig.getOpenRule()[0]; - if (!user.getMissionManager().getFinishMissions().contains(missionId) && !user.getMissionManager().getTakeRewardMissions().contains(missionId)) { - Mission mission = user.getMissionManager().getDoingMissions().get(missionId); - if (mission == null || mission.getMissionStep() < scMapConfig.getOpenRule()[1]) { - LOGGER.info("enterMap() uid=>{} map not open == missionId =>{} step=>{}", uid, missionId, mission == null ? 0 : mission.getMissionStep()); - MessageUtil.sendErrorResponse(iSession, 0, messageType.getNumber(), "需要完成任务:" + (scMapConfig == null ? "" : scMapConfig.getOpenRule()[0] + "#" + scMapConfig.getOpenRule()[1])); - return; - } - } + SChallengeMapConfig scMapConfig = SChallengeMapConfig.integerSChallengeMapConfigMap.get(mapId); +// if (scMapConfig == null || scMapConfig.getOpenRule() == null || scMapConfig.getOpenRule().length == 0) { +// LOGGER.info("enterMap() uid=>{} mapId=>{}, scMapConfig.getOpenRule()=>{}", uid, mapId, scMapConfig == null ? "" : scMapConfig.getOpenRule()); +// MessageUtil.sendErrorResponse(iSession, 0, messageType.getNumber(), ""); +// return; +// } +// int missionId = scMapConfig.getOpenRule()[0]; +// if (!user.getMissionManager().getTakeRewardMissions().contains(missionId)) { +// Mission mission = user.getMissionManager().getDoingMissions().get(missionId); +// if (mission == null || mission.getMissionStep() < scMapConfig.getOpenRule()[1]) { +// LOGGER.info("enterMap() uid=>{} map not open == missionId =>{} step=>{}", uid, missionId, mission == null ? 0 : mission.getMissionStep()); +// MessageUtil.sendErrorResponse(iSession, 0, messageType.getNumber(), "需要完成任务:" + (scMapConfig == null ? "" : scMapConfig.getOpenRule()[0] + "#" + scMapConfig.getOpenRule()[1])); +// return; +// } +// } if (user.getPlayerInfoManager().getMapId() < mapId) { user.getPlayerInfoManager().setMapId(mapId); } @@ -118,20 +116,12 @@ public class MapLogic { MessageUtil.sendErrorResponse(iSession, 0, messageType.getNumber(), ""); return; } - - if (energy < scMapConfig.getEnergyConfused()) { - LOGGER.info("enterMap() uid=>{} energy=>{} need=>{} energy not enough ", uid, energy, scMapConfig.getEnergyConfused()); - MessageUtil.sendErrorResponse(iSession, 0, messageType.getNumber(), "精力不足!"); - return; - } - String error = initTeamInfo(teamId, uid, user, mapManager, scMapConfig.getMoveConfused()); + String error = initTeamInfo(teamId, uid, user, mapManager); if (!error.isEmpty()){ LOGGER.info("enterMap() uid=>{} error =>{} ", uid, error); MessageUtil.sendErrorResponse(iSession, 0, messageType.getNumber(), ""); return; } - int leftEnergy = energy - scMapConfig.getEnergyConfused(); - mapManager.setEnergy(leftEnergy); mapManager.setCurMapId(mapId); initMap(mapManager, user); user.setMapManager(mapManager); @@ -151,8 +141,9 @@ public class MapLogic { CommonProto.FoodBuffer foodBuffer = CBean2Proto.getFoodBuffer(buffEntry.getKey(), buffEntry.getValue()); mapEnterResponse.addFoodBuffers(foodBuffer); } + mapEnterResponse.setMissions(getMission(mapManager.getMission())); mapEnterResponse.addAllMapList(cells); - mapEnterResponse.setLeftStep(mapManager.getTotalStep()); + mapEnterResponse.setLeftTime(getLeftTime(mapManager)); mapEnterResponse.setCurXY(mapManager.getCurXY()); mapEnterResponse.addAllWakeCells(mapManager.getWalkCells() == null ? new ArrayList<>() : mapManager.getWalkCells()); if (mapManager.getTemporaryItems() != null) { @@ -161,12 +152,11 @@ public class MapLogic { MessageUtil.sendMessage(iSession, 1, messageType.getNumber(), mapEnterResponse.build(), true); } - private String initTeamInfo(int teamId, int uid, User user, MapManager mapManager, int moveUse) throws Exception { + private String initTeamInfo(int teamId, int uid, User user, MapManager mapManager) throws Exception { List teamPosHeroInfos = user.getTeamPosManager().getTeamPosForHero().get(teamId); if (teamPosHeroInfos == null || teamPosHeroInfos.isEmpty()) { return "阵容不存在"; } - int totalStep = 0; List heroes = new ArrayList<>(teamPosHeroInfos.size()); for (TeamPosHeroInfo heroInfo : teamPosHeroInfos) { Hero hero = user.getHeroManager().getHero(heroInfo.getHeroId()); @@ -176,7 +166,6 @@ public class MapLogic { Map heroAttributeMap = HeroLogic.getInstance().calHeroFinalAttribute(user, hero); hero.setCurHp(heroAttributeMap.get(HeroAttributeEnum.Hp.getPropertyId())); hero.setSpeed(heroAttributeMap.get(HeroAttributeEnum.Speed.getPropertyId())); - totalStep += HeroLogic.getInstance().calHeroAttribute(hero, GlobalsDef.ACTION_POWER_RORMULA_TYPE); heroes.add(heroInfo.getHeroId()); } if (heroes.size() != teamPosHeroInfos.size()) { @@ -184,7 +173,6 @@ public class MapLogic { return "阵容有误"; } mapManager.setTeamId(teamId); - mapManager.setTotalStep(totalStep + moveUse * 5); return ""; } @@ -207,7 +195,6 @@ public class MapLogic { Map newMap = new HashMap<>(); Map spicelMap = new HashMap<>(); Random random = new Random(); - CrossMapCell crossMapCell = mapManager.getCrossMapInfos().get(mapManager.getCurMapId()); for (Map.Entry entry : scMap.entrySet()) { SCMap scMap1 = entry.getValue(); // 必出现的事件点 @@ -232,26 +219,7 @@ public class MapLogic { LOGGER.info("====initMap()====mapPointConfig == null======>{}", scMap1.getEvent()); continue; } - int initialEventId = mapPointConfig.getInitialEventId(); - // 每天刷新的事件点 - if (crossMapCell != null && crossMapCell.getDayRefreshs().containsKey(mapPointConfig.getId())) { - int eventId = crossMapCell.getDayRefreshs().get(mapPointConfig.getId()); - if (eventId == -1) { - continue; - } else { - initialEventId = eventId; - } - } - // 一次性事件点 - if (crossMapCell != null && crossMapCell.getPermanents().containsKey(mapPointConfig.getId())) { - int eventId = crossMapCell.getPermanents().get(mapPointConfig.getId()); - if (eventId == -1) { - continue; - } else { - initialEventId = eventId; - } - } - Cell cellValue = new Cell(xy, initialEventId, mapPointConfig.getId()); + Cell cellValue = new Cell(xy, mapPointConfig.getInitialEventId(), mapPointConfig.getId()); if (mapPointConfig.getStyle() == EventType.enter) { mapManager.setCurXY(xy); } @@ -261,59 +229,35 @@ public class MapLogic { newMap.put(xy, cellValue); } } - if (crossMapCell != null) { - for (Map.Entry entry : crossMapCell.getBehaviorTriggers().entrySet()) { - if (entry.getValue() == null || entry.getValue().getEventId() == -1) { - continue; - } - newMap.put(entry.getKey(), entry.getValue()); - } - } if (user.getPlayerInfoManager().getMapId() == 100) { SGameSetting sGameSetting = SGameSetting.getGameSetting(); int xy = CellUtil.xy2Pos(sGameSetting.getBornPosition()[0], sGameSetting.getBornPosition()[1]); mapManager.setCurXY(xy); } + SChallengeMapConfig challengeMapConfig = SChallengeMapConfig.integerSChallengeMapConfigMap.get(mapManager.getCurMapId()); + Mission mission = new Mission(); + mission.setMissionId(challengeMapConfig.getMissionId()); + mission.setMissionStep(0); + mapManager.setMission(mission); mapManager.setMapInfo(newMap); mapManager.setTypeEight(spicelMap); initMapMission(mapManager); } - public boolean updateMapByOnlyConsumeActionPower(ISession session, int curXY,int triggerXY, List cells,MessageTypeProto.MessageType messageType) throws Exception { - if(triggerXY == -1000){ + public boolean updateMapByOnlyConsumeActionPower(ISession session, int curXY, int triggerXY, List cells, MessageTypeProto.MessageType messageType) throws Exception { + if (triggerXY == -1000) { int uid = session.getUid(); User user = UserManager.getUser(uid); MapManager mapManager = user.getMapManager(); - SCMapConfig scMapConfig = SCMapConfig.getsCMapSize().get(mapManager.getCurMapId()); - if( null == scMapConfig ){ - MessageUtil.sendMessage(session, 1, messageType.getNumber(), null, true); - return true; - } - int moveConfused = scMapConfig.getMoveConfused(); - if (moveConfused > 0) { - int leftStep = mapManager.getTotalStep() - cells.size() * moveConfused; - if (leftStep <= 0) { - leftStep = 0; - resetMapInfo(user, false); - LOGGER.info("updateMap() uid=>{}, leftStep=>{}", uid, leftStep); - mapManager.setTotalStep(leftStep); - MapInfoProto.MapUpdateResponse mapUpdateResponse = MapInfoProto.MapUpdateResponse.newBuilder().build(); - MessageUtil.sendMessage(session, 1, messageType.getNumber(), mapUpdateResponse, true); - return true; - } - updateMapMission(mapManager,EventType.updateEvent,MapMissionType.CONSUME_ACTION_POWER_EVENT.getMissionTypeValue(),cells.size() * moveConfused); - mapManager.setTotalStep(leftStep); - mapManager.addWalkCells(new HashSet<>(cells)); - mapManager.setCurXY(curXY); - MapInfoProto.MapUpdateResponse mapUpdateResponse = MapInfoProto.MapUpdateResponse.newBuilder() - .setLeftStep(mapManager.getTotalStep()) - .build(); - MessageUtil.sendMessage(session, 1, messageType.getNumber(), mapUpdateResponse, true); - } + mapManager.addWalkCells(new HashSet<>(cells)); + mapManager.setCurXY(curXY); + MapInfoProto.MapUpdateResponse mapUpdateResponse = MapInfoProto.MapUpdateResponse.newBuilder() + .setLeftTime(getLeftTime(mapManager)) + .build(); + MessageUtil.sendMessage(session, 1, messageType.getNumber(), mapUpdateResponse, true); return true; } return false; - } @@ -338,8 +282,8 @@ public class MapLogic { MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), ""); return; } - if (mapManager.getTotalStep() <= 0) { - LOGGER.info("updateMap() uid=>{}, no step=>{}", uid, mapManager.getTotalStep()); + if (getLeftTime(mapManager) <= 0) { + LOGGER.info("updateMap() uid=>{}, no step=>{}", uid, getLeftTime(mapManager)); MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), ""); return; } @@ -348,22 +292,6 @@ public class MapLogic { MessageUtil.sendErrorResponse(session, 0, messageType.getNumber(), ""); return; } - SCMapConfig scMapConfig = SCMapConfig.getsCMapSize().get(mapManager.getCurMapId()); - int moveConfused = scMapConfig.getMoveConfused(); - if (moveConfused > 0) { - int leftStep = mapManager.getTotalStep() - cells.size() * moveConfused; - if (leftStep <= 0) { - leftStep = 0; - updateMapMission(mapManager,EventType.updateEvent,MapMissionType.CONSUME_ACTION_POWER_EVENT.getMissionTypeValue(),cells.size() * moveConfused); - resetMapInfo(user, false); - LOGGER.info("updateMap() uid=>{}, leftStep=>{}", uid, leftStep); - MapInfoProto.MapUpdateResponse mapUpdateResponse = MapInfoProto.MapUpdateResponse.newBuilder().build(); - MessageUtil.sendMessage(session, 1, messageType.getNumber(), mapUpdateResponse, true); - return; - } - updateMapMission(mapManager,EventType.updateEvent,MapMissionType.CONSUME_ACTION_POWER_EVENT.getMissionTypeValue(),cells.size() * moveConfused); - mapManager.setTotalStep(leftStep); - } Cell cell = mapManager.getMapInfo().get(triggerXY); if (cell == null) { cell = mapManager.getMapInfo().get(curXY); @@ -378,7 +306,7 @@ public class MapLogic { mapManager.setCurXY(curXY); MapInfoProto.MapUpdateResponse mapUpdateResponse = MapInfoProto.MapUpdateResponse.newBuilder() .setEventId(cell.getEventId()) - .setLeftStep(mapManager.getTotalStep()) + .setLeftTime(getLeftTime(mapManager)) .build(); MessageUtil.sendMessage(session, 1, messageType.getNumber(), mapUpdateResponse, true); } @@ -448,6 +376,11 @@ public class MapLogic { MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), ""); return; } + if (getLeftTime(mapManager) <= 0) { + LOGGER.info("mapManager.getLeftTime() <= 0 =>{}", getLeftTime(mapManager)); + MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), ""); + return; + } int behaviorType = sOptionConfig.getBehaviorType(); int[][] behaviorTypeValues = sOptionConfig.getBehaviorTypeValues(); BaseBehavior baseBehavior = baseBehaviorMap.get(behaviorType); @@ -546,55 +479,16 @@ public class MapLogic { .build(); eventUpdateResponse.setEventBehaviorCommon(eventBehaviorCommon); eventUpdateResponse.setEventId(nextEventId); - eventUpdateResponse.setLeftStep(mapManager.getTotalStep()); + eventUpdateResponse.setLeftTime(getLeftTime(mapManager)); if (dropBuilder != null) { eventUpdateResponse.setDrop(dropBuilder); } // LOGGER.info("updateEvent =====>success<====== xy=>{}, getPointId=>{} eventId={}, mission=>{}, nextEventId=>{}, eventBehaviorCommon=>{} {} sOptionConfig.getReward()=>{}", mapManager.getCurXY(), cell == null ? 0 : cell.getPointId(), // cell == null ? 0 : cell.getEventId(), eventUpdateResponse.getMissionList(), nextEventId, eventBehaviorCommon,eventUpdateResponse.getDrop(), sOptionConfig.getReward()); - saveRefreshInfo(mapManager.getCurMapId(), mapManager, mapPointConfig, cell); LOGGER.info("updatEvent() uid=>{},nextEventId={},eventId={}", uid, nextEventId, cell == null ? 0 : cell.getEventId()); MessageUtil.sendMessage(session, 1, messageType.getNumber(), eventUpdateResponse.build(), true); } - public void saveRefreshInfo(int mapId, MapManager mapManager, MapPointConfig mapPointConfig, Cell cell) throws Exception { - int nextEventId = -1; - if (cell != null) { - nextEventId = cell.getEventId(); - } - CrossMapCell crossMapCell = mapManager.getCrossMapInfos().get(mapId); - if (crossMapCell == null) { - crossMapCell = new CrossMapCell(); - } - if (mapPointConfig.getRefresh() == 1) { - if (crossMapCell.getDayRefreshs().containsKey(mapPointConfig.getId())) { - int saveEventId = crossMapCell.getDayRefreshs().get(mapPointConfig.getId()); - if (saveEventId == -1) { - return; - } - if (saveEventId == nextEventId) { - return; - } - } - crossMapCell.getDayRefreshs().put(mapPointConfig.getId(), nextEventId); - } - if (mapPointConfig.getRefresh() == 3) { - if (crossMapCell.getPermanents().containsKey(mapPointConfig.getId())) { - int saveEventId = crossMapCell.getPermanents().get(mapPointConfig.getId()); - if (saveEventId == -1) { - return; - } - if (saveEventId == nextEventId) { - return; - } - } - crossMapCell.getPermanents().put(mapPointConfig.getId(), nextEventId); - } - if (cell != null && crossMapCell.getBehaviorTriggers().containsKey(mapManager.getTriggerXY())) { - crossMapCell.getBehaviorTriggers().put(mapManager.getTriggerXY(), cell); - } - mapManager.updateCrossMapInfos(mapId, crossMapCell); - } private int getNextPoint(User user, MapManager mapManager, int[][] jumpTypeValues, SOptionAddCondition sOptionAddConditions) { int nextEventId = 0; @@ -691,27 +585,18 @@ public class MapLogic { return jumpTypeValues[0][1]; } // 完成某个任务的第几步 - case 4:{ - Set finishMissions = user.getMissionManager().getFinishMissions(); - Set takeRewardMissions = user.getMissionManager().getTakeRewardMissions(); - if (finishMissions.contains(sOptionAddConditions.getValues()[0][0]) || takeRewardMissions.contains(sOptionAddConditions.getValues()[0][0])) { + case 4: { + Mission mission = user.getMapManager().getMission(); + if (mission == null || mission.getMissionStep() < sOptionAddConditions.getValues()[0][1]) { + nextEventId = jumpTypeValues[0][1]; + } else { nextEventId = jumpTypeValues[0][0]; } - if (nextEventId == 0) { - Map doingMissions = user.getMissionManager().getDoingMissions(); - Mission mission = doingMissions.get(sOptionAddConditions.getValues()[0][0]); - if (mission == null || mission.getMissionStep() < sOptionAddConditions.getValues()[0][1]) { - nextEventId = jumpTypeValues[0][1]; - } else { - nextEventId = jumpTypeValues[0][0]; - } - } break; } // 当前是否处于某个任务的第几步,逻辑参数(0处于1不处于)#任务id#任务步数|… case 6:{ - Map doingMissions = user.getMissionManager().getDoingMissions(); - Mission mission = doingMissions.get(sOptionAddConditions.getValues()[0][1]); + Mission mission = user.getMapManager().getMission(); if (sOptionAddConditions.getValues()[0][0] == 0) { if (mission != null && mission.getMissionStep() == sOptionAddConditions.getValues()[0][2]) { nextEventId = jumpTypeValues[0][0]; @@ -740,7 +625,6 @@ public class MapLogic { openMission = CommonProto.Mission.newBuilder() .setItemId(mission.getMissionId()) .setMissionStep(mission.getMissionStep()) - .setIsOpen(mission.isOpen()) .setState("") .build(); return openMission; @@ -778,7 +662,7 @@ public class MapLogic { mapManager.setWalkCells(new HashSet<>()); mapManager.setCurXY(0); mapManager.setCurMapId(0); - mapManager.setTotalStep(0); + mapManager.setStartExporeTime(0); mapManager.setTriggerXY(0); mapManager.setFoodBufferMap(new HashMap<>()); TemporaryItems temporaryItems = mapManager.getTemporaryItems(); @@ -904,7 +788,7 @@ public class MapLogic { return; }else if(resultCode == 0){ // 失败处理 - resetMapInfo(user,true); +// resetMapInfo(user,true); CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder(); FightInfoProto.FightEndResponse fightEndResponse = FightInfoProto.FightEndResponse .newBuilder() @@ -959,17 +843,6 @@ public class MapLogic { MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightEndResponse.build(), true); } - /** - * 隔天刷新 - * @param user - */ - public void refreshMapInfo(User user) { - Map crossMapInfos = user.getMapManager().getCrossMapInfos(); - for (CrossMapCell crossMapCell : crossMapInfos.values()) { - crossMapCell.getDayRefreshs().clear(); - } - } - public void initMapMission( MapManager mapManager){ int mapId = mapManager.getCurMapId(); @@ -1024,9 +897,7 @@ public class MapLogic { } } } - } - //updateEvent optionalConfig获取 if(eventType == EventType.updateEvent){ if(logic == eventId){ @@ -1056,11 +927,8 @@ public class MapLogic { } } } - } - } - //todo 战斗结束处理 if(eventType == EventType.fightEvent){ if(logic == MapMissionType.KILL_BOSS.getMissionTypeValue()){ @@ -1161,4 +1029,55 @@ public class MapLogic { MapInfoProto.TakeMapBoxResponse build = MapInfoProto.TakeMapBoxResponse.newBuilder().setDrop(drop).build(); MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.TAKE_MAP_MISSION_BOX_RESPONSE_VALUE,build,true); } + + + public int getLeftTime(MapManager mapManager) { + SChallengeConfig sChallengeConfig = SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()); + int useTime = (int) ((TimeUtils.now() - mapManager.getStartExporeTime()) / 1000); + if (useTime >= sChallengeConfig.getMapTime()) { +// resetMapInfo(); + return 0; + } else { + return sChallengeConfig.getMapTime() - useTime; + } + } + + public CheckMissionReturn checkMission(Mission mission, User user) throws Exception { + SMissionEventsConfig sMissionEventsConfig = SMissionEventsConfig.sMissionEventsConfigMap.get(mission.getMissionId()); + mission.setMissionStep(mission.getMissionStep() + 1); + CheckMissionReturn checkMissionReturn = new CheckMissionReturn(); + if (mission.getMissionStep() >= sMissionEventsConfig.getMissionNum()) { + if (mission.getMissionInfo() != null) { + checkMissionReturn.newEventId = mission.getMissionInfo(); + } + int[] reward = {sMissionEventsConfig.getReward()}; + CommonProto.Drop.Builder drop = ItemUtil.drop(user, reward, 1, 0); + checkMissionReturn.drop = drop; + } else { + user.getMapManager().setMission(mission); + } + checkMissionReturn.missions.add(mission); + return checkMissionReturn; + } + + /** + * 开始探索(开始计时) + * @param session + * @param messageType + */ + public void startExplorte(ISession session, MessageTypeProto.MessageType messageType) throws Exception { + int uid = session.getUid(); + User user = UserManager.getUser(uid); + MapManager mapManager = user.getMapManager(); + if (mapManager.getMapInfo() == null) { + LOGGER.info("mapManager.getMapInfo() == null"); + MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), ""); + return; + } + mapManager.setStartExporeTime(TimeUtils.now()); + MapInfoProto.MapStartExploreResponse mapStartExploreResponse = MapInfoProto.MapStartExploreResponse.newBuilder() + .setLeftTime(getLeftTime(mapManager)) + .build(); + MessageUtil.sendMessage(session, 1, messageType.getNumber(), mapStartExploreResponse, true); + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java index 20a6fcb76..0cb476bac 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java @@ -1,16 +1,17 @@ package com.ljsd.jieling.handler.map; - import com.ljsd.common.mogodb.MongoBase; -import com.ljsd.jieling.config.SAccomplishmentConfig; import com.ljsd.jieling.config.SGameSetting; import com.ljsd.jieling.core.GlobalsDef; +import com.ljsd.jieling.handler.mission.Mission; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.util.MathUtils; -import org.springframework.data.mongodb.core.mapping.Field; -import java.util.*; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; import java.util.concurrent.ConcurrentHashMap; @@ -31,12 +32,8 @@ public class MapManager extends MongoBase { private Set walkCells; - private int totalStep; - private TemporaryItems temporaryItems; - private Map crossMapInfos = new ConcurrentHashMap<>(); - private Map foodBufferMap = new HashMap<>(); private Map allMissionProgress = new ConcurrentHashMap<>(); @@ -45,6 +42,12 @@ public class MapManager extends MongoBase { private int lastUpdateEnergyTime; + private long startExporeTime; + + private boolean missionIsFinish; + + private Mission mission; + public MapManager() { this.setRootCollection(User._COLLECTION_NAME); } @@ -54,15 +57,6 @@ public class MapManager extends MongoBase { return mapInfo; } - public Map getCrossMapInfos() { - return crossMapInfos; - } - - public void updateCrossMapInfos(int key, CrossMapCell crossMapCell) throws Exception { - updateString("crossMapInfos." + key, crossMapCell); - crossMapInfos.put(key, crossMapCell); - } - public int getCurMapId() { return curMapId; } @@ -137,15 +131,6 @@ public class MapManager extends MongoBase { } } - public int getTotalStep() { - return totalStep; - } - - public void setTotalStep(int totalStep) throws Exception { - updateString( "totalStep", totalStep); - this.totalStep = totalStep; - } - public int getTriggerXY() { return triggerXY; } @@ -254,4 +239,31 @@ public class MapManager extends MongoBase { updateString("foodBufferMap", foodBufferMap); this.foodBufferMap = foodBufferMap; } + + public long getStartExporeTime() { + return startExporeTime; + } + + public void setStartExporeTime(long startExporeTime) { + updateString("startExporeTime", startExporeTime); + this.startExporeTime = startExporeTime; + } + + public boolean isMissionIsFinish() { + return missionIsFinish; + } + + public void setMissionIsFinish(boolean missionIsFinish) { + updateString("missionIsFinish", missionIsFinish); + this.missionIsFinish = missionIsFinish; + } + + public Mission getMission() { + return mission; + } + + public void setMission(Mission mission) { + updateString("mission", mission); + this.mission = mission; + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/MissionGetAllRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapStartExploreRequestHandler.java similarity index 60% rename from serverlogic/src/main/java/com/ljsd/jieling/handler/mission/MissionGetAllRequestHandler.java rename to serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapStartExploreRequestHandler.java index b3eb27f51..bda0dd9c0 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/MissionGetAllRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapStartExploreRequestHandler.java @@ -1,4 +1,4 @@ -package com.ljsd.jieling.handler.mission; +package com.ljsd.jieling.handler.map; import com.ljsd.jieling.handler.BaseHandler; import com.ljsd.jieling.netty.cocdex.PacketNetData; @@ -7,14 +7,16 @@ import com.ljsd.jieling.protocols.MessageTypeProto; import org.springframework.stereotype.Component; @Component -public class MissionGetAllRequestHandler extends BaseHandler { +public class MapStartExploreRequestHandler extends BaseHandler{ + + @Override public MessageTypeProto.MessageType getMessageCode() { - return MessageTypeProto.MessageType.MISSION_GET_ALL_REQUEST; + return MessageTypeProto.MessageType.MAP_START_EXPLORE_REQUEST; } @Override public void process(ISession iSession, PacketNetData netData) throws Exception { - MissionLogic.getInstance().getAllMissions(iSession, MessageTypeProto.MessageType.MISSION_GET_ALL_RESPONSE); + MapLogic.getInstance().startExplorte(iSession, MessageTypeProto.MessageType.MAP_START_EXPLORE_RESPONSE); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/BehaviorUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/BehaviorUtil.java index e4aba9704..762eb902b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/BehaviorUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/BehaviorUtil.java @@ -5,12 +5,10 @@ import com.ljsd.jieling.config.MapPointConfig; import com.ljsd.jieling.db.redis.RedisKey; import com.ljsd.jieling.db.redis.RedisUtil; import com.ljsd.jieling.handler.map.Cell; -import com.ljsd.jieling.handler.map.CrossMapCell; import com.ljsd.jieling.handler.map.MapLogic; import com.ljsd.jieling.handler.map.MapManager; import com.ljsd.jieling.handler.mission.CheckMissionReturn; import com.ljsd.jieling.handler.mission.Mission; -import com.ljsd.jieling.handler.mission.MissionLogic; import com.ljsd.jieling.logic.dao.Hero; import com.ljsd.jieling.logic.dao.TeamPosHeroInfo; import com.ljsd.jieling.logic.dao.root.User; @@ -42,55 +40,17 @@ public class BehaviorUtil { needDelete.add(entry.getKey()); } } - CrossMapCell crossMapCell = user.getMapManager().getCrossMapInfos().get(mapId); - if (crossMapCell != null) { - Map behaviorTriggers = crossMapCell.getBehaviorTriggers(); - for (Integer xy : needDelete) { - if (behaviorTriggers.containsKey(xy)) { - behaviorTriggers.remove(xy); - } - } - } for (Integer xy : needDelete) { mapInfo.remove(xy); } mapManager.setMapInfo(mapInfo); - addRefreshInfo(needDistoryPointId, mapManager, mapManager.getCurMapId()); } - public static void addRefreshInfo(int needDistoryPointId, MapManager mapManager, int mapId) throws Exception { - MapPointConfig mapPointConfig = MapPointConfig.getScMapEventMap().get(needDistoryPointId); - /** - * 事件点的刷新规则 - * 1 每日刷新 - * 2 探索刷新(不用处理) - * 3 一次性 - */ - if (mapPointConfig.getRefresh() == 1 || mapPointConfig.getRefresh() == 3) { - CrossMapCell crossMapCell = mapManager.getCrossMapInfos().get(mapId); - if (crossMapCell == null) { - crossMapCell = new CrossMapCell(); - } - if (mapPointConfig.getRefresh() == 1) { - crossMapCell.getDayRefreshs().put(needDistoryPointId, -1); - } - if (mapPointConfig.getRefresh() == 3) { - crossMapCell.getPermanents().put(needDistoryPointId, -1); - } - mapManager.updateCrossMapInfos(mapId, crossMapCell); - } - } public static void addBehaviorInfo(int needDistoryPointId, MapManager mapManager, int mapId, int x, int y) throws Exception { - CrossMapCell crossMapCell = mapManager.getCrossMapInfos().get(mapId); - if (crossMapCell == null) { - crossMapCell = new CrossMapCell(); - } int xy = CellUtil.xy2Pos(x, y); MapPointConfig mapPointConfig = MapPointConfig.scMapEventMap.get(needDistoryPointId); Cell cellValue = new Cell(xy, mapPointConfig.getInitialEventId(), mapPointConfig.getId()); - crossMapCell.getBehaviorTriggers().put(xy,cellValue); - mapManager.updateCrossMapInfos(mapId, crossMapCell); mapManager.addOrUpdateCell(xy, cellValue); } @@ -107,7 +67,6 @@ public class BehaviorUtil { if (cell != null) { cell.setEventId(-1); mapManager.addOrUpdateCell(destoryXY, cell); - addRefreshInfo(cell.getPointId(), mapManager, mapManager.getCurMapId()); } } @@ -204,12 +163,11 @@ public class BehaviorUtil { * 更新任务 */ public static boolean updateMission(User user, int missionId, MapInfoProto.EventUpdateResponse.Builder eventUpdateResponse) throws Exception{ - Map doingMissions = user.getMissionManager().getDoingMissions(); - Mission mission = doingMissions.get(missionId); - if (mission == null || !mission.isOpen()) { + Mission mission = user.getMapManager().getMission(); + if (mission == null) { return false; } - CheckMissionReturn checkMissionReturn = MissionLogic.getInstance().checkMission(mission, user); + CheckMissionReturn checkMissionReturn = MapLogic.getInstance().checkMission(mission, user); for (Mission missions : checkMissionReturn.missions) { CommonProto.Mission missionProto = MapLogic.getInstance().getMission(missions); eventUpdateResponse.addMission(missionProto); @@ -228,7 +186,6 @@ public class BehaviorUtil { if (cell != null) { cell.setEventId(-1); mapManager.addOrUpdateCell(cell.getCellId(), cell); - addRefreshInfo(cell.getPointId(), mapManager, mapManager.getCurMapId()); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/DestroyMissionBehavior.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/DestroyMissionBehavior.java index 82c789621..c7a71a018 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/DestroyMissionBehavior.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/DestroyMissionBehavior.java @@ -4,7 +4,6 @@ import com.ljsd.jieling.handler.map.EventType; import com.ljsd.jieling.handler.map.MapLogic; import com.ljsd.jieling.handler.mission.CheckMissionReturn; import com.ljsd.jieling.handler.mission.Mission; -import com.ljsd.jieling.handler.mission.MissionLogic; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.protocols.CommonProto; import com.ljsd.jieling.protocols.MapInfoProto; @@ -21,12 +20,11 @@ public class DestroyMissionBehavior extends BaseBehavior { @Override public boolean process(User user, int[][] behaviorTypeValues, MapInfoProto.EventUpdateResponse.Builder eventUpdateResponse) throws Exception { - Map doingMissions = user.getMissionManager().getDoingMissions(); - Mission mission = doingMissions.get(behaviorTypeValues[0][0]); - if (mission == null || !mission.isOpen()) { + Mission mission = user.getMapManager().getMission(); + if (mission == null) { return false; } - CheckMissionReturn checkMissionReturn = MissionLogic.getInstance().checkMission(mission, user); + CheckMissionReturn checkMissionReturn = MapLogic.getInstance().checkMission(mission, user); BehaviorUtil.destoryCurPoint(user); for (Mission cmission : checkMissionReturn.missions){ CommonProto.Mission missionProto = MapLogic.getInstance().getMission(cmission); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/DunBehavior.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/DunBehavior.java index 3dae26d9b..9d5303107 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/DunBehavior.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/DunBehavior.java @@ -1,20 +1,10 @@ package com.ljsd.jieling.handler.map.behavior; -import com.ljsd.jieling.config.MapPointConfig; -import com.ljsd.jieling.config.SCMapConfig; import com.ljsd.jieling.handler.map.*; -import com.ljsd.jieling.handler.mission.Mission; -import com.ljsd.jieling.handler.mission.MissionLogic; import com.ljsd.jieling.logic.dao.root.User; -import com.ljsd.jieling.protocols.CommonProto; import com.ljsd.jieling.protocols.MapInfoProto; -import com.ljsd.jieling.util.CellUtil; import org.springframework.stereotype.Component; -import java.util.HashMap; -import java.util.Map; -import java.util.Random; - @Component public class DunBehavior extends BaseBehavior { @Override @@ -24,56 +14,57 @@ public class DunBehavior extends BaseBehavior { @Override public boolean process(User user, int[][] behaviorTypeValues, MapInfoProto.EventUpdateResponse.Builder eventUpdateResponse) throws Exception { - boolean hasMission = MissionLogic.getInstance().hasMission(user, behaviorTypeValues[0][0]); - if (hasMission) { - return false; - } - MapManager mapManager = user.getMapManager(); - SCMapConfig scMapConfig = SCMapConfig.getsCMapSize().get(mapManager.getCurMapId()); - int[] mapSize = scMapConfig.getSize(); - Map newDunEvents = new HashMap<>(); - Map newDunEventIds = new HashMap<>(); - int i = 0; - Random random = new Random(); - while (newDunEventIds.size() < 3) { - int randomIndex = random.nextInt(behaviorTypeValues[0].length - 3) + 3; - int newDunEventId = behaviorTypeValues[0][randomIndex]; - MapPointConfig mapPointConfig = MapPointConfig.scMapEventMap.get(newDunEventId); - newDunEventIds.put(newDunEventIds.size(), mapPointConfig); - i++; - if (i >= 1000) { - break; - } - } - if (newDunEventIds.size() < 3) { - return false; - } - i = 0; - while (newDunEvents.size() < 3) { - int x = random.nextInt(mapSize[0]) + 1; - int y = random.nextInt(mapSize[1]) + 1; - int xy = CellUtil.xy2Pos(x, y); - if (mapManager.getMapInfo().containsKey(xy)) { - continue; - } - MapPointConfig mapPointConfig = newDunEventIds.get(newDunEvents.size()); - Cell cellValue = new Cell(xy, mapPointConfig.getInitialEventId(), mapPointConfig.getId()); - newDunEvents.put(xy, cellValue); - i++; - if (i >= 1000) { - break; - } - // 开新事件 - BehaviorUtil.addBehaviorInfo(mapManager.getCurMapId(), mapManager, mapPointConfig.getId(), x, y); - } - mapManager.getMapInfo().putAll(newDunEvents); - Mission mission = new Mission(); - mission.setMissionId(behaviorTypeValues[0][0]); - mission.setMissionStep(0); - mission.setMissionInfo(mapManager.getCurXY() + "#" + behaviorTypeValues[0][2]); - user.getMissionManager().updateOneDoingMissions(behaviorTypeValues[0][0], mission); - CommonProto.Mission missionProto = MapLogic.getInstance().getMission(mission); - eventUpdateResponse.addMission(missionProto); - return true; +// boolean hasMission = MissionLogic.getInstance().hasMission(user, behaviorTypeValues[0][0]); +// if (hasMission) { +// return false; +// } +// MapManager mapManager = user.getMapManager(); +// SCMapConfig scMapConfig = SCMapConfig.getsCMapSize().get(mapManager.getCurMapId()); +// int[] mapSize = scMapConfig.getSize(); +// Map newDunEvents = new HashMap<>(); +// Map newDunEventIds = new HashMap<>(); +// int i = 0; +// Random random = new Random(); +// while (newDunEventIds.size() < 3) { +// int randomIndex = random.nextInt(behaviorTypeValues[0].length - 3) + 3; +// int newDunEventId = behaviorTypeValues[0][randomIndex]; +// MapPointConfig mapPointConfig = MapPointConfig.scMapEventMap.get(newDunEventId); +// newDunEventIds.put(newDunEventIds.size(), mapPointConfig); +// i++; +// if (i >= 1000) { +// break; +// } +// } +// if (newDunEventIds.size() < 3) { +// return false; +// } +// i = 0; +// while (newDunEvents.size() < 3) { +// int x = random.nextInt(mapSize[0]) + 1; +// int y = random.nextInt(mapSize[1]) + 1; +// int xy = CellUtil.xy2Pos(x, y); +// if (mapManager.getMapInfo().containsKey(xy)) { +// continue; +// } +// MapPointConfig mapPointConfig = newDunEventIds.get(newDunEvents.size()); +// Cell cellValue = new Cell(xy, mapPointConfig.getInitialEventId(), mapPointConfig.getId()); +// newDunEvents.put(xy, cellValue); +// i++; +// if (i >= 1000) { +// break; +// } +// // 开新事件 +// BehaviorUtil.addBehaviorInfo(mapManager.getCurMapId(), mapManager, mapPointConfig.getId(), x, y); +// } +// mapManager.getMapInfo().putAll(newDunEvents); +// Mission mission = new Mission(); +// mission.setMissionId(behaviorTypeValues[0][0]); +// mission.setMissionStep(0); +// mission.setMissionInfo(mapManager.getCurXY() + "#" + behaviorTypeValues[0][2]); +// user.getMissionManager().updateOneDoingMissions(behaviorTypeValues[0][0], mission); +// CommonProto.Mission missionProto = MapLogic.getInstance().getMission(mission); +// eventUpdateResponse.addMission(missionProto); +// return true; + return false; } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/MonitorMissionBehavior.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/MonitorMissionBehavior.java index c530b8284..19481d5a2 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/MonitorMissionBehavior.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/MonitorMissionBehavior.java @@ -1,17 +1,10 @@ package com.ljsd.jieling.handler.map.behavior; import com.ljsd.jieling.handler.map.EventType; -import com.ljsd.jieling.handler.map.MapLogic; -import com.ljsd.jieling.handler.mission.CheckMissionReturn; -import com.ljsd.jieling.handler.mission.Mission; -import com.ljsd.jieling.handler.mission.MissionLogic; import com.ljsd.jieling.logic.dao.root.User; -import com.ljsd.jieling.protocols.CommonProto; import com.ljsd.jieling.protocols.MapInfoProto; import org.springframework.stereotype.Component; -import java.util.Map; - @Component public class MonitorMissionBehavior extends BaseBehavior { @Override diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/OpenAppointMissionBehavior.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/OpenAppointMissionBehavior.java deleted file mode 100644 index 71013375b..000000000 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/OpenAppointMissionBehavior.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.ljsd.jieling.handler.map.behavior; - -import com.ljsd.jieling.handler.map.EventType; -import com.ljsd.jieling.handler.map.MapLogic; -import com.ljsd.jieling.handler.mission.Mission; -import com.ljsd.jieling.logic.dao.root.User; -import com.ljsd.jieling.protocols.CommonProto; -import com.ljsd.jieling.protocols.MapInfoProto; -import org.springframework.stereotype.Component; - -import java.util.Map; - -@Component -public class OpenAppointMissionBehavior extends BaseBehavior { - @Override - public int getBehaviorType() { - return EventType.openAppointMission; - } - - @Override - public boolean process(User user, int[][] behaviorTypeValues, MapInfoProto.EventUpdateResponse.Builder eventUpdateResponse) throws Exception { - Mission mission = new Mission(); - mission.setMissionId(behaviorTypeValues[0][0]); - mission.setMissionStep(0); - mission.setOpen(true); - mission.setMissionInfo(user.getMapManager().getCurMapId() + "#" + behaviorTypeValues[0][0]); - user.getMissionManager().updateOneDoingMissions(behaviorTypeValues[0][0], mission); - CommonProto.Mission missionProto = MapLogic.getInstance().getMission(mission); - eventUpdateResponse.addMission(missionProto); - return true; - } -} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/OpenNotDoMissionBehavior.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/OpenNotDoMissionBehavior.java deleted file mode 100644 index 4b5c977f0..000000000 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/OpenNotDoMissionBehavior.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.ljsd.jieling.handler.map.behavior; - -import com.ljsd.jieling.handler.map.EventType; -import com.ljsd.jieling.handler.map.MapLogic; -import com.ljsd.jieling.handler.mission.Mission; -import com.ljsd.jieling.logic.dao.root.User; -import com.ljsd.jieling.protocols.CommonProto; -import com.ljsd.jieling.protocols.MapInfoProto; -import org.springframework.stereotype.Component; - -@Component -public class OpenNotDoMissionBehavior extends BaseBehavior { - @Override - public int getBehaviorType() { - return EventType.openNotDoMission; - } - - @Override - public boolean process(User user, int[][] behaviorTypeValues, MapInfoProto.EventUpdateResponse.Builder eventUpdateResponse) throws Exception { - Mission mission = new Mission(); - mission.setMissionId(behaviorTypeValues[0][0]); - mission.setMissionStep(0); - mission.setOpen(false); - mission.setMissionInfo(user.getMapManager().getCurMapId() + "#" + behaviorTypeValues[0][0]); - user.getMissionManager().updateOneDoingMissions(behaviorTypeValues[0][0], mission); - CommonProto.Mission missionProto = MapLogic.getInstance().getMission(mission); - eventUpdateResponse.addMission(missionProto); - return true; - } -} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/UseStepBehavior.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/UseStepBehavior.java deleted file mode 100644 index f5817651b..000000000 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/UseStepBehavior.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.ljsd.jieling.handler.map.behavior; - -import com.ljsd.jieling.handler.map.EventType; -import com.ljsd.jieling.handler.map.MapLogic; -import com.ljsd.jieling.handler.map.MapManager; -import com.ljsd.jieling.handler.map.MapMissionType; -import com.ljsd.jieling.logic.dao.root.User; -import com.ljsd.jieling.protocols.MapInfoProto; -import org.springframework.stereotype.Component; - -@Component -public class UseStepBehavior extends BaseBehavior { - @Override - public int getBehaviorType() { - return EventType.twentyEight; - } - - @Override - public boolean process(User user, int[][] behaviorTypeValues, MapInfoProto.EventUpdateResponse.Builder eventUpdateResponse) throws Exception { - MapManager mapManager = user.getMapManager(); - int totalStep = mapManager.getTotalStep(); - if (totalStep < behaviorTypeValues[0][0]) { - return false; - } - mapManager.setTotalStep(totalStep - behaviorTypeValues[0][0]); - MapLogic.getInstance().updateMapMission(mapManager,EventType.updateEvent, MapMissionType.CONSUME_ACTION_POWER_EVENT.getMissionTypeValue(),behaviorTypeValues[0][0]); - return true; - } -} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/CheckMissionReturn.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/CheckMissionReturn.java index 81a46db89..ce2ea2ee4 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/CheckMissionReturn.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/CheckMissionReturn.java @@ -1,9 +1,12 @@ package com.ljsd.jieling.handler.mission; +import com.ljsd.jieling.protocols.CommonProto; + import java.util.ArrayList; import java.util.List; public class CheckMissionReturn { public String newEventId; public List missions = new ArrayList<>(); + public CommonProto.Drop.Builder drop; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/Mission.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/Mission.java index 0842fe47a..49299a6cd 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/Mission.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/Mission.java @@ -10,8 +10,6 @@ public class Mission extends MongoBase { private String missionInfo; - private boolean isOpen; - public int getMissionId() { return missionId; } @@ -37,12 +35,4 @@ public class Mission extends MongoBase { this.missionInfo = missionInfo; } - public boolean isOpen() { - return isOpen; - } - - public void setOpen(boolean open) { - updateString("open", open); - isOpen = open; - } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/MissionLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/MissionLogic.java deleted file mode 100644 index 2f606cf60..000000000 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/MissionLogic.java +++ /dev/null @@ -1,139 +0,0 @@ -package com.ljsd.jieling.handler.mission; - -import com.ljsd.jieling.config.SMissionEventsConfig; -import com.ljsd.jieling.logic.dao.UserManager; -import com.ljsd.jieling.logic.dao.root.User; -import com.ljsd.jieling.network.session.ISession; -import com.ljsd.jieling.protocols.CommonProto; -import com.ljsd.jieling.protocols.MessageTypeProto; -import com.ljsd.jieling.protocols.MissionInfoProto; -import com.ljsd.jieling.util.ItemUtil; -import com.ljsd.jieling.util.MessageUtil; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.Map; -import java.util.Set; - -public class MissionLogic { - - private static final Logger LOGGER = LoggerFactory.getLogger(MissionLogic.class); - - private MissionLogic() { - } - - /** - * 获取单例 - * - * @return - */ - public static MissionLogic getInstance() { - return MissionLogic.Instance.instance; - } - - public static class Instance { - public final static MissionLogic instance = new MissionLogic(); - } - - public void getAllMissions(ISession session, MessageTypeProto.MessageType messageType) throws Exception { - int uid = session.getUid(); - User user = UserManager.getUser(uid); - MissionManager missionManager = user.getMissionManager(); - Map doingMissions = missionManager.getDoingMissions(); - Set finishMissions = missionManager.getFinishMissions(); - MissionInfoProto.MissionGetAllResponse.Builder missionGetAllResponse = MissionInfoProto.MissionGetAllResponse.newBuilder(); - for (Mission doingMission : doingMissions.values()) { - CommonProto.Mission mission = CommonProto.Mission - .newBuilder() - .setMissionStep(doingMission.getMissionStep()) - .setItemId(doingMission.getMissionId()) - .setIsOpen(doingMission.isOpen()) - .setState("") - .build(); - missionGetAllResponse.addMissions(mission); - } - for (int finishMission : finishMissions) { - SMissionEventsConfig sMissionEventsConfig = SMissionEventsConfig.sMissionEventsConfigMap.get(finishMission); - CommonProto.Mission mission = CommonProto.Mission - .newBuilder() - .setMissionStep(sMissionEventsConfig.getMissionNum()) - .setItemId(finishMission) - .setIsOpen(true) - .setState("") - .build(); - missionGetAllResponse.addMissions(mission); - } - MessageUtil.sendMessage(session, 1, messageType.getNumber(), missionGetAllResponse.build(), true); - } - - public boolean hasMission(User user, int missionId) { - MissionManager missionManager = user.getMissionManager(); - if (missionManager.getTakeRewardMissions().contains(missionId)){ - return true; - } - if (missionManager.getDoingMissions().containsKey(missionId)) { - return true; - } - if (missionManager.getTakeRewardMissions().contains(missionId)) { - return true; - } - return false; - } - - public CheckMissionReturn checkMission(Mission mission, User user) throws Exception { - SMissionEventsConfig sMissionEventsConfig = SMissionEventsConfig.sMissionEventsConfigMap.get(mission.getMissionId()); - mission.setMissionStep(mission.getMissionStep() + 1); - CheckMissionReturn checkMissionReturn = new CheckMissionReturn(); - if (mission.getMissionStep() >= sMissionEventsConfig.getMissionNum()) { - if (mission.getMissionInfo() != null) { - checkMissionReturn.newEventId = mission.getMissionInfo(); - } - user.getMissionManager().removeDoingMissions(mission.getMissionId()); - Set finishMissions = user.getMissionManager().getFinishMissions(); - finishMissions.add(mission.getMissionId()); - user.getMissionManager().updateFinishMissions(finishMissions); - mission.setOpen(true); - } else { - user.getMissionManager().updateOneDoingMissions(mission.getMissionId(), mission); - } - checkMissionReturn.missions.add(mission); - return checkMissionReturn; - } - - - public void takeMissionReward(ISession session, int missionId, MessageTypeProto.MessageType messageType) throws Exception { - User user = UserManager.getUser(session.getUid()); - Set finishMissions = user.getMissionManager().getFinishMissions(); - if (!finishMissions.contains(missionId)) { - return; - } - finishMissions.remove(missionId); - user.getMissionManager().updateFinishMissions(finishMissions); - user.getMissionManager().addTakeRewardMissions(missionId); - SMissionEventsConfig sMissionEventsConfig = SMissionEventsConfig.sMissionEventsConfigMap.get(missionId); - int[] reward = {sMissionEventsConfig.getReward()}; - CommonProto.Drop.Builder drop = ItemUtil.drop(user, reward, 1, 0); - MissionInfoProto.TakeMissionResponse takeMissionResponse = - MissionInfoProto.TakeMissionResponse - .newBuilder() - .setDrop(drop) - .build(); - MessageUtil.sendMessage(session, 1, messageType.getNumber(), takeMissionResponse, true); - } - - - public void openMission(ISession session, int missionId, MessageTypeProto.MessageType messageType) throws Exception { - User user = UserManager.getUser(session.getUid()); - Map doingMissions = user.getMissionManager().getDoingMissions(); - if (!doingMissions.containsKey(missionId)) { - LOGGER.info("openMission uid=>{}, not this misson missionId=>{}", session.getUid(), missionId); - MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), ""); - return; - } - Mission mission = doingMissions.get(missionId); - mission.setOpen(true); - user.getMissionManager().updateOneDoingMissions(missionId, mission); - MessageUtil.sendMessage(session, 1, messageType.getNumber(), null, true); - } - -} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/MissionManager.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/MissionManager.java deleted file mode 100644 index 9c6be7704..000000000 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/MissionManager.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.ljsd.jieling.handler.mission; - -import com.google.common.collect.Sets; -import com.ljsd.common.mogodb.MongoBase; -import com.ljsd.jieling.db.mongo.MongoKey; -import com.ljsd.jieling.logic.dao.root.User; - -import java.util.Map; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; - -public class MissionManager extends MongoBase { - - private Map doingMissions = new ConcurrentHashMap<>(); - - private Set finishMissions = Sets.newConcurrentHashSet(); - - private Set takeRewardMissions = Sets.newConcurrentHashSet(); - - - public MissionManager(){ - this.setRootCollection(User._COLLECTION_NAME); - } - - - public Map getDoingMissions() { - return doingMissions; - } - - public Set getFinishMissions() { - return finishMissions; - } - - public Set getTakeRewardMissions() { - return takeRewardMissions; - } - - public void updateOneDoingMissions(int missionId, Mission mission) throws Exception { - mission.init(this.getRootId(), getMongoKey() + ".doingMissions." + missionId); - this.doingMissions.put(missionId, mission); - updateString( "doingMissions." + missionId, mission); - } - - public void removeDoingMissions(int missionId) throws Exception { - this.doingMissions.remove(missionId); - removeString( getMongoKey() + ".doingMissions." + missionId); - } - - public void updateFinishMissions(Set finishMissions) throws Exception { - this.finishMissions = finishMissions; - updateString( "finishMissions", finishMissions); - } - - public void addTakeRewardMissions(int missionId) throws Exception { - takeRewardMissions.add(missionId); - updateString( "takeRewardMissions", takeRewardMissions); - } - -} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/MissionTakeRewardRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/MissionTakeRewardRequestHandler.java deleted file mode 100644 index a778194e1..000000000 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/MissionTakeRewardRequestHandler.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.ljsd.jieling.handler.mission; - -import com.ljsd.jieling.handler.BaseHandler; -import com.ljsd.jieling.netty.cocdex.PacketNetData; -import com.ljsd.jieling.network.session.ISession; -import com.ljsd.jieling.protocols.MessageTypeProto; -import com.ljsd.jieling.protocols.MissionInfoProto; -import org.springframework.stereotype.Component; - -@Component -public class MissionTakeRewardRequestHandler extends BaseHandler { - @Override - public MessageTypeProto.MessageType getMessageCode() { - return MessageTypeProto.MessageType.MISSION_TAKE_REWARD_REQUEST; - } - - @Override - public void process(ISession iSession, PacketNetData netData) throws Exception { - byte[] message = netData.parseClientProtoNetData(); - MissionInfoProto.TakeMissionRewardRequest takeMissionRewardRequest = MissionInfoProto.TakeMissionRewardRequest.parseFrom(message); - int missionId = takeMissionRewardRequest.getMissionId(); - MissionLogic.getInstance().takeMissionReward(iSession, missionId, MessageTypeProto.MessageType.MISSION_TAKE_REWARD_RESPONSE); - } -} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/OpenMissionRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/OpenMissionRequestHandler.java deleted file mode 100644 index 967130193..000000000 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/OpenMissionRequestHandler.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.ljsd.jieling.handler.mission; - -import com.ljsd.jieling.handler.BaseHandler; -import com.ljsd.jieling.netty.cocdex.PacketNetData; -import com.ljsd.jieling.network.session.ISession; -import com.ljsd.jieling.protocols.MessageTypeProto; -import com.ljsd.jieling.protocols.MissionInfoProto; -import org.springframework.stereotype.Component; - -@Component -public class OpenMissionRequestHandler extends BaseHandler { - @Override - public MessageTypeProto.MessageType getMessageCode() { - return MessageTypeProto.MessageType.MISSION_OPEN_REQUEST; - } - - @Override - public void process(ISession iSession, PacketNetData netData) throws Exception { - byte[] message = netData.parseClientProtoNetData(); - MissionInfoProto.OpenMissionRequest openMissionRequest = MissionInfoProto.OpenMissionRequest.parseFrom(message); - int missionId = openMissionRequest.getMissionId(); - MissionLogic.getInstance().openMission(iSession, missionId, MessageTypeProto.MessageType.MISSION_OPEN_RESPONSE); - } -} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserManager.java index 130b8092e..764220505 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserManager.java @@ -2,16 +2,11 @@ package com.ljsd.jieling.logic.dao; import com.ljsd.jieling.config.SGameSetting; -import com.ljsd.jieling.config.SMissionEventsConfig; import com.ljsd.jieling.db.mongo.MongoUtil; -import com.ljsd.jieling.handler.map.MapManager; -import com.ljsd.jieling.handler.mission.Mission; -import com.ljsd.jieling.handler.mission.MissionManager; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.util.ItemUtil; import com.ljsd.jieling.util.TimeUtils; -import java.util.HashMap; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -81,14 +76,6 @@ public class UserManager { playerManager.setCreateTime(TimeUtils.now()); SGameSetting gameSetting = SGameSetting.getGameSetting(); ItemUtil.drop(user,gameSetting.getBornItem()); - MissionManager missionManager = user.getMissionManager(); - Mission mission = new Mission(); - mission.setMissionId(1); - mission.setMissionStep(0); - mission.setOpen(true); - missionManager.getDoingMissions().put(mission.getMissionId(), mission); - MapManager mapManager = user.getMapManager(); - //TODO HeroManager heroManager = user.getHeroManager(); Map heroMap = heroManager.getHeroMap(); TeamPosManager teamPosManager = user.getTeamPosManager(); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/root/User.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/root/User.java index 2acbe5daa..b5953c0a3 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/root/User.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/root/User.java @@ -2,7 +2,6 @@ package com.ljsd.jieling.logic.dao.root; import com.ljsd.jieling.db.mongo.MongoKey; import com.ljsd.jieling.handler.map.MapManager; -import com.ljsd.jieling.handler.mission.MissionManager; import com.ljsd.jieling.logic.dao.*; import com.ljsd.jieling.util.TimeUtils; @@ -22,8 +21,6 @@ public class User { private MapManager mapManager; - private MissionManager missionManager; - private TeamPosManager teamPosManager; private MailManager mailManager; @@ -48,7 +45,6 @@ public class User { this.itemManager = new ItemManager(); this.heroManager = new HeroManager(); this.mapManager = new MapManager(); - this.missionManager = new MissionManager(); this.teamPosManager = new TeamPosManager(); this.mailManager = new MailManager(); this.equipManager = new EquipManager(); @@ -61,7 +57,6 @@ public class User { this.itemManager.init(id, MongoKey.itemManager); this.heroManager.init(id, MongoKey.heroManager); this.mapManager.init(id, MongoKey.mapManager); - this.missionManager.init(id, MongoKey.missionManager); this.teamPosManager.init(id, MongoKey.teamPosManager); this.mailManager.init(id, MongoKey.mailManager); this.equipManager.init(id, MongoKey.equipManager); @@ -142,10 +137,6 @@ public class User { return pokemonManager; } - public MissionManager getMissionManager() { - return missionManager; - } - public WorkShopController getWorkShopController() { return workShopController; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java index fb1b3bda3..704ea14b5 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java @@ -332,12 +332,12 @@ public class CombatLogic { if(type == GlobalsDef.FOOD_ADDITION_EXPLORE_TYPE){ for(int[] effectPara : effectParas){ if(effectPara[0] == GlobalsDef.EXPLORE_MAP_ACTION_POWER_RORMULA_TYPE){ - SCMapConfig scMapConfig = SCMapConfig.getsCMapSize().get(mapManager.getCurMapId()); - int totalStep = mapManager.getTotalStep(); - if (totalStep < scMapConfig.getMoveConfused() * 5) { - totalStep = scMapConfig.getMoveConfused() * 5; - } - mapManager.setTotalStep(totalStep + effectPara[1]); +// SCMapConfig scMapConfig = SCMapConfig.getsCMapSize().get(mapManager.getCurMapId()); +// int totalStep = mapManager.getTotalStep(); +// if (totalStep < scMapConfig.getMoveConfused() * 5) { +// totalStep = scMapConfig.getMoveConfused() * 5; +// } +// mapManager.setTotalStep(totalStep + effectPara[1]); } } }