From 099b7c7488a6ff6284771b3ab8d55b99198fd561 Mon Sep 17 00:00:00 2001 From: jiahuiwen <1024696487@qq.com> Date: Thu, 7 Mar 2019 14:01:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BB=E7=BA=BF=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/SCMissionEventsItemConfig.java | 11 ---------- .../jieling/config/SMissionEventsConfig.java | 6 ++++- .../ljsd/jieling/handler/map/MapLogic.java | 12 +++++----- .../handler/map/behavior/BehaviorUtil.java | 19 ++++++++++------ .../map/behavior/DestroyMissionBehavior.java | 13 ++++++----- .../map/behavior/DestroyPointAndBehavior.java | 2 +- .../map/behavior/DestroyPointBehavior.java | 2 +- .../handler/map/behavior/DunBehavior.java | 4 ++-- .../FightAndDestroyPointBehavior.java | 2 +- ...MonitorMissionAndDestroyPointBehavior.java | 2 +- .../map/behavior/MonitorMissionBehavior.java | 9 +++++--- .../map/behavior/OpenMissionBehavior.java | 9 +++++--- .../behavior/UseItemAndDestroyBehavior.java | 2 +- .../map/behavior/UseItemMissionBehavior.java | 9 +++++--- .../handler/mission/CheckMissionReturn.java | 9 ++++++++ .../jieling/handler/mission/MissionLogic.java | 22 +++++++++++++------ .../ljsd/jieling/logic/dao/UserManager.java | 2 -- 17 files changed, 81 insertions(+), 54 deletions(-) delete mode 100644 serverlogic/src/main/java/com/ljsd/jieling/config/SCMissionEventsItemConfig.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/handler/mission/CheckMissionReturn.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SCMissionEventsItemConfig.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SCMissionEventsItemConfig.java deleted file mode 100644 index e712c770e..000000000 --- a/serverlogic/src/main/java/com/ljsd/jieling/config/SCMissionEventsItemConfig.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.ljsd.jieling.config; - -import com.ljsd.jieling.logic.Table; - -@Table(name = "MissionEventsItemConfig") -public class SCMissionEventsItemConfig implements BaseConfig { - @Override - public void init() throws Exception { - - } -} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SMissionEventsConfig.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SMissionEventsConfig.java index 0b5a9d416..93a4173a8 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/config/SMissionEventsConfig.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/SMissionEventsConfig.java @@ -20,6 +20,8 @@ public class SMissionEventsConfig implements BaseConfig { private int[] openRules; + private int next; + @Override public void init() throws Exception { @@ -47,5 +49,7 @@ public class SMissionEventsConfig implements BaseConfig { return openRules; } - + public int getNext() { + return next; + } } \ No newline at end of file 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 a5944aa29..eec6de80b 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 @@ -360,10 +360,12 @@ public class MapLogic { cell.setEventId(nextPoint); mapManager.addOrUpdateCell(mapManager.getCurXY(), cell); } - if (behaviorType == EventType.dun && eventUpdateResponse.getMission() != null) { - Mission mission = user.getMissionManager().getDoingMissions().get(eventUpdateResponse.getMission().getItemId()); - if (mission != null && cell != null) { - mission.updateMapPoints(cell.getPointId(), cell.getEventId()); + if (behaviorType == EventType.dun && eventUpdateResponse.getMissionCount() > 0) { + for (CommonProto.Mission missionProto : eventUpdateResponse.getMissionList()) { + Mission mission = user.getMissionManager().getDoingMissions().get(missionProto.getItemId()); + if (mission != null && cell != null) { + mission.updateMapPoints(cell.getPointId(), cell.getEventId()); + } } } CommonProto.Drop.Builder dropBuilder = ItemUtil.drop(user, sOptionConfig.getReward(), 1); @@ -387,7 +389,7 @@ public class MapLogic { eventUpdateResponse.setDrop(dropBuilder); } LOGGER.info("updateEvent =====>success<====== xy=>{}, getPointId=>{} eventId={}, mission=>{}, nextPoint=>{}", mapManager.getCurXY(), cell == null ? 0 : cell.getPointId(), - cell == null ? 0 : cell.getEventId(), eventUpdateResponse.getMission(), nextPoint); + cell == null ? 0 : cell.getEventId(), eventUpdateResponse.getMissionList(), nextPoint); MessageUtil.sendMessage(session, 1, messageType.getNumber(), eventUpdateResponse.build(), true); } 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 d882af086..163fc5fc2 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 @@ -18,10 +18,7 @@ import com.ljsd.jieling.util.MonsterUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; public class BehaviorUtil { @@ -31,9 +28,17 @@ public class BehaviorUtil { * @param user * @throws Exception */ - public static void distoryPoint(User user) throws Exception { + public static void distoryPoint(User user, int[][] behaviorTypeValues) throws Exception { Map mapInfo = user.getMapManager().getMapInfo(); - mapInfo.remove(user.getMapManager().getCurXY()); + Set needDelete = new HashSet<>(); + for (Map.Entry entry : mapInfo.entrySet()) { + if (entry.getValue().getPointId() == behaviorTypeValues[0][0]) { + needDelete.add(entry.getKey()); + } + } + for (Integer xy : needDelete) { + mapInfo.remove(xy); + } user.getMapManager().setMapInfo(mapInfo); LOGGER.info("distoryPoint=========>{}", user.getMapManager().getCurXY()); } @@ -89,7 +94,7 @@ public class BehaviorUtil { } MissionLogic.getInstance().checkMission(mission, user); CommonProto.Mission missionProto = MapLogic.getInstance().getMission(mission); - eventUpdateResponse.setMission(missionProto); + eventUpdateResponse.addMission(missionProto); return true; } } 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 aedce82be..44e3a938f 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 @@ -3,6 +3,7 @@ package com.ljsd.jieling.handler.map.behavior; import com.ljsd.jieling.handler.map.Cell; 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; @@ -26,19 +27,21 @@ public class DestroyMissionBehavior extends BaseBehavior { if (mission == null) { return false; } - String newEventId = MissionLogic.getInstance().checkMission(mission, user); + CheckMissionReturn checkMissionReturn = MissionLogic.getInstance().checkMission(mission, user); Map mapInfo = user.getMapManager().getMapInfo(); mapInfo.remove(user.getMapManager().getCurXY()); - if (newEventId != null && !newEventId.isEmpty()) { - String[] split = newEventId.split("#"); + if (checkMissionReturn.newEventId != null && !checkMissionReturn.newEventId.isEmpty()) { + String[] split = checkMissionReturn.newEventId .split("#"); Cell cellUpdate = mapInfo.get(Integer.parseInt(split[0])); if (cellUpdate != null) { cellUpdate.setEventId(Integer.parseInt(split[1])); } } user.getMapManager().setMapInfo(mapInfo); - CommonProto.Mission missionProto = MapLogic.getInstance().getMission(mission); - eventUpdateResponse.setMission(missionProto); + for (Mission cmission : checkMissionReturn.missions){ + CommonProto.Mission missionProto = MapLogic.getInstance().getMission(cmission); + eventUpdateResponse.addMission(missionProto); + } return true; } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/DestroyPointAndBehavior.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/DestroyPointAndBehavior.java index 68c815b8c..b75e73b21 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/DestroyPointAndBehavior.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/DestroyPointAndBehavior.java @@ -14,7 +14,7 @@ public class DestroyPointAndBehavior extends BaseBehavior { @Override public boolean process(User user, int[][] behaviorTypeValues, MapInfoProto.EventUpdateResponse.Builder eventUpdateResponse) throws Exception { - BehaviorUtil.distoryPoint(user); + BehaviorUtil.distoryPoint(user, behaviorTypeValues); // TODO 监视地图 return true; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/DestroyPointBehavior.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/DestroyPointBehavior.java index c803e7ff7..f325d5b3d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/DestroyPointBehavior.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/DestroyPointBehavior.java @@ -17,7 +17,7 @@ public class DestroyPointBehavior extends BaseBehavior { @Override public boolean process(User user, int[][] behaviorTypeValues, MapInfoProto.EventUpdateResponse.Builder eventUpdateResponse) throws Exception { - BehaviorUtil.distoryPoint(user); + BehaviorUtil.distoryPoint(user, behaviorTypeValues); return true; } } 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 454abac8c..df5971eb2 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 @@ -69,12 +69,12 @@ public class DunBehavior extends BaseBehavior { mission.setMissionId(behaviorTypeValues[0][0]); mission.setMissionStep(0); mission.getMissionInfos().putAll(newDunEvents); - mission.setMissionInfo(mapManager.getCurXY() + "#" + behaviorTypeValues[0][2] + "#" + behaviorTypeValues[0][1]); + mission.setMissionInfo(mapManager.getCurXY() + "#" + behaviorTypeValues[0][2]); Map doingMissions = user.getMissionManager().getDoingMissions(); doingMissions.put(behaviorTypeValues[0][0], mission); user.getMissionManager().updateDoingMissions(doingMissions); CommonProto.Mission missionProto = MapLogic.getInstance().getMission(mission); - eventUpdateResponse.setMission(missionProto); + eventUpdateResponse.addMission(missionProto); CrossMapCell crossMapInfo = mapManager.getCrossMapInfos().get(mapManager.getCurMapId()); if (crossMapInfo == null) { crossMapInfo = new CrossMapCell(); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/FightAndDestroyPointBehavior.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/FightAndDestroyPointBehavior.java index 1ba961373..8d2dc2f74 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/FightAndDestroyPointBehavior.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/FightAndDestroyPointBehavior.java @@ -15,7 +15,7 @@ public class FightAndDestroyPointBehavior extends BaseBehavior { @Override public boolean process(User user, int[][] behaviorTypeValues, MapInfoProto.EventUpdateResponse.Builder eventUpdateResponse) throws Exception { BehaviorUtil.getFightInfo(user, behaviorTypeValues, eventUpdateResponse); - BehaviorUtil.distoryPoint(user); + BehaviorUtil.distoryPoint(user, behaviorTypeValues); return false; } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/MonitorMissionAndDestroyPointBehavior.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/MonitorMissionAndDestroyPointBehavior.java index e68281060..5a75ef190 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/MonitorMissionAndDestroyPointBehavior.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/MonitorMissionAndDestroyPointBehavior.java @@ -19,7 +19,7 @@ public class MonitorMissionAndDestroyPointBehavior extends BaseBehavior { public boolean process(User user, int[][] behaviorTypeValues, MapInfoProto.EventUpdateResponse.Builder eventUpdateResponse) throws Exception { BehaviorUtil.updateMission(user, behaviorTypeValues, eventUpdateResponse); // 销毁事件点 - BehaviorUtil.distoryPoint(user); + BehaviorUtil.distoryPoint(user, behaviorTypeValues); // 开新事件 if (user.getMapManager().getCurMapId() == behaviorTypeValues[0][1]) { int x = behaviorTypeValues[1][0]; 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 a91a92bf0..e1d509092 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 @@ -2,6 +2,7 @@ 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; @@ -25,9 +26,11 @@ public class MonitorMissionBehavior extends BaseBehavior { if (mission == null) { return false; } - MissionLogic.getInstance().checkMission(mission, user); - CommonProto.Mission missionProto = MapLogic.getInstance().getMission(mission); - eventUpdateResponse.setMission(missionProto); + CheckMissionReturn checkMissionReturn = MissionLogic.getInstance().checkMission(mission, user); + for (Mission cmission : checkMissionReturn.missions){ + CommonProto.Mission missionProto = MapLogic.getInstance().getMission(cmission); + eventUpdateResponse.addMission(missionProto); + } return true; } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/OpenMissionBehavior.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/OpenMissionBehavior.java index b5f1d7227..de258ac91 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/OpenMissionBehavior.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/OpenMissionBehavior.java @@ -4,6 +4,7 @@ import com.ljsd.jieling.config.MapPointConfig; import com.ljsd.jieling.handler.map.Cell; 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; @@ -28,9 +29,11 @@ public class OpenMissionBehavior extends BaseBehavior { if (mission == null) { return false; } - MissionLogic.getInstance().checkMission(mission, user); - CommonProto.Mission missionProto = MapLogic.getInstance().getMission(mission); - eventUpdateResponse.setMission(missionProto); + CheckMissionReturn checkMissionReturn = MissionLogic.getInstance().checkMission(mission, user); + for (Mission cmission : checkMissionReturn.missions){ + CommonProto.Mission missionProto = MapLogic.getInstance().getMission(cmission); + eventUpdateResponse.addMission(missionProto); + } // 开新事件 if (user.getMapManager().getCurMapId() == behaviorTypeValues[1][0]) { int x = behaviorTypeValues[1][1]; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/UseItemAndDestroyBehavior.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/UseItemAndDestroyBehavior.java index 5c50602f0..8b5c2cd7a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/UseItemAndDestroyBehavior.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/UseItemAndDestroyBehavior.java @@ -22,7 +22,7 @@ public class UseItemAndDestroyBehavior extends BaseBehavior { if (!isEnough) { return isEnough; } - BehaviorUtil.distoryPoint(user); + BehaviorUtil.distoryPoint(user, behaviorTypeValues); return true; } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/UseItemMissionBehavior.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/UseItemMissionBehavior.java index fe62e231c..2e1364bb7 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/UseItemMissionBehavior.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/UseItemMissionBehavior.java @@ -2,6 +2,7 @@ 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; @@ -30,9 +31,11 @@ public class UseItemMissionBehavior extends BaseBehavior { if (!checkCost) { return false; } - MissionLogic.getInstance().checkMission(mission, user); - CommonProto.Mission missionProto = MapLogic.getInstance().getMission(mission); - eventUpdateResponse.setMission(missionProto); + CheckMissionReturn checkMissionReturn = MissionLogic.getInstance().checkMission(mission, user); + for (Mission cmission : checkMissionReturn.missions){ + CommonProto.Mission missionProto = MapLogic.getInstance().getMission(cmission); + eventUpdateResponse.addMission(missionProto); + } 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 new file mode 100644 index 000000000..81a46db89 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/CheckMissionReturn.java @@ -0,0 +1,9 @@ +package com.ljsd.jieling.handler.mission; + +import java.util.ArrayList; +import java.util.List; + +public class CheckMissionReturn { + public String newEventId; + public List missions = new ArrayList<>(); +} 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 index 168c40dac..f03feca96 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/MissionLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/MissionLogic.java @@ -90,9 +90,8 @@ public class MissionLogic { return false; } - public String checkMission(Mission mission, User user) throws Exception { - String[] split1 = mission.getMissionInfo().split("#"); - int needCount = Integer.parseInt(split1[2]); + public CheckMissionReturn checkMission(Mission mission, User user) throws Exception { + SMissionEventsConfig sMissionEventsConfig = SMissionEventsConfig.sMissionEventsConfigMap.get(mission.getMissionId()); mission.setMissionStep(mission.getMissionStep() + 1); Map missionInfos = mission.getMissionInfos(); int curXY = user.getMapManager().getCurXY(); @@ -101,10 +100,10 @@ public class MissionLogic { cell.setEventId(-1); mission.updateMissionInfos(curXY, cell); } - String newEventId = null; - if (mission.getMissionStep() >= needCount) { + CheckMissionReturn checkMissionReturn = new CheckMissionReturn(); + if (mission.getMissionStep() >= sMissionEventsConfig.getMissionNum()) { if (mission.getMissionInfo() != null) { - newEventId = mission.getMissionInfo(); + checkMissionReturn.newEventId = mission.getMissionInfo(); } Map doingMissions = user.getMissionManager().getDoingMissions(); doingMissions.remove(mission.getMissionId()); @@ -112,10 +111,19 @@ public class MissionLogic { Set finishMissions = user.getMissionManager().getFinishMissions(); finishMissions.add(mission.getMissionId()); user.getMissionManager().updateFinishMissions(finishMissions); + // 开新任务 + if (sMissionEventsConfig.getNext() != 0) { + Mission missionNew = new Mission(); + missionNew.setMissionId(sMissionEventsConfig.getNext()); + missionNew.setMissionStep(0); + user.getMissionManager().getDoingMissions().put(sMissionEventsConfig.getNext(), missionNew); + checkMissionReturn.missions.add(missionNew); + } } else { user.getMissionManager().updateOneDoingMissions(mission.getMissionId(), mission); } - return newEventId; + checkMissionReturn.missions.add(mission); + return checkMissionReturn; } 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 b88d5915b..bcd3f2f9b 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 @@ -80,11 +80,9 @@ public class UserManager { SGameSetting gameSetting = SGameSetting.getGameSetting(); ItemUtil.drop(user,gameSetting.getBornItem()); MissionManager missionManager = user.getMissionManager(); - SMissionEventsConfig sMissionEventsConfig = SMissionEventsConfig.sMissionEventsConfigMap.get(1); Mission mission = new Mission(); mission.setMissionId(1); mission.setMissionStep(0); - mission.setMissionInfo("0#0#" + sMissionEventsConfig.getMissionNum()); missionManager.getDoingMissions().put(mission.getMissionId(), mission); MapManager mapManager = user.getMapManager(); //TODO