地图 gm

back_recharge
jiahuiwen 2019-04-01 20:31:54 +08:00
parent 215fa27996
commit de37dcd698
2 changed files with 16 additions and 4 deletions

View File

@ -12,6 +12,7 @@ import com.ljsd.jieling.handler.BaseHandler;
import com.ljsd.jieling.handler.map.MapLogic;
import com.ljsd.jieling.handler.map.MapManager;
import com.ljsd.jieling.handler.map.MapMission;
import com.ljsd.jieling.handler.mission.Mission;
import com.ljsd.jieling.logic.dao.Hero;
import com.ljsd.jieling.logic.dao.Mail;
import com.ljsd.jieling.logic.dao.root.User;
@ -90,19 +91,30 @@ public class GMRequestHandler extends BaseHandler{
SCMapConfig scMapConfig = SCMapConfig.getsCMapSize().get(100 + prarm1);
Set<Integer> missionIds = new HashSet<>();
MapManager mapManager = cUser.getMapManager();
Map<Integer, MapMission> allMissionProgress = mapManager.getAllMissionProgress();
int curMapId = mapManager.getCurMapId();
if (scMapConfig != null) {
for (int i = 1; i <= prarm1; i++) {
int mapId = 100 + i;
SCMapConfig crossMap = SCMapConfig.getsCMapSize().get(mapId);
cUser.getPlayerInfoManager().setMapId(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<Integer, Mission> 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);
break;
default:

View File

@ -95,7 +95,7 @@ public class MapLogic {
return;
}
SCMapConfig scMapConfig = SCMapConfig.getsCMapSize().get(mapId);
if (scMapConfig == null || scMapConfig.getOpenRule() == null) {
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;