back_recharge
mashiyu 2019-03-13 14:03:10 +08:00
commit 87c14fd895
2 changed files with 21 additions and 16 deletions

View File

@ -228,16 +228,16 @@ public class MapLogic {
MessageUtil.sendErrorResponse(session, 0, messageType.getNumber(), ""); MessageUtil.sendErrorResponse(session, 0, messageType.getNumber(), "");
return; return;
} }
int leftStep = mapManager.getTotalStep() - cells.size(); // int leftStep = mapManager.getTotalStep() - cells.size();
if (leftStep <= 0) { // if (leftStep <= 0) {
leftStep = 0; // leftStep = 0;
resetMapInfo(user); // resetMapInfo(user, false);
LOGGER.info("updateMap() uid=>{}, leftStep=>{}", uid, leftStep); // LOGGER.info("updateMap() uid=>{}, leftStep=>{}", uid, leftStep);
MapInfoProto.MapUpdateResponse mapUpdateResponse = MapInfoProto.MapUpdateResponse.newBuilder().build(); // MapInfoProto.MapUpdateResponse mapUpdateResponse = MapInfoProto.MapUpdateResponse.newBuilder().build();
MessageUtil.sendMessage(session, 1, messageType.getNumber(), mapUpdateResponse, true); // MessageUtil.sendMessage(session, 1, messageType.getNumber(), mapUpdateResponse, true);
return; // return;
} // }
mapManager.setTotalStep(leftStep); // mapManager.setTotalStep(leftStep);
Cell cell = mapManager.getMapInfo().get(curXY); Cell cell = mapManager.getMapInfo().get(curXY);
if (cell == null) { if (cell == null) {
cell = mapManager.getMapInfo().get(triggerXY); cell = mapManager.getMapInfo().get(triggerXY);
@ -511,11 +511,11 @@ public class MapLogic {
MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), ""); MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "");
return; return;
} }
resetMapInfo(user); resetMapInfo(user, true);
MessageUtil.sendMessage(session, 1, messageType.getNumber(), null, true); MessageUtil.sendMessage(session, 1, messageType.getNumber(), null, true);
} }
public void resetMapInfo(User user) throws Exception { public void resetMapInfo(User user, boolean needTemporaryItem) throws Exception {
MapManager mapManager = user.getMapManager(); MapManager mapManager = user.getMapManager();
mapManager.setMapInfo(new HashMap<>()); mapManager.setMapInfo(new HashMap<>());
mapManager.setHeroes(new HashSet<>()); mapManager.setHeroes(new HashSet<>());
@ -523,10 +523,15 @@ public class MapLogic {
mapManager.setWalkCells(new HashSet<>()); mapManager.setWalkCells(new HashSet<>());
mapManager.setCurXY(0); mapManager.setCurXY(0);
mapManager.setCurMapId(0); mapManager.setCurMapId(0);
TemporaryItems temporaryItems = mapManager.getTemporaryItems(); if (needTemporaryItem) {
if (temporaryItems != null) { TemporaryItems temporaryItems = mapManager.getTemporaryItems();
ItemUtil.addTemporaryItemToBag(user, temporaryItems); if (temporaryItems != null) {
ItemUtil.addTemporaryItemToBag(user, temporaryItems);
}
} else {
mapManager.setTemporaryItems(null);
} }
} }
public void endFight(ISession session, int result, MessageTypeProto.MessageType messageType, int monsterGroupId) throws Exception { public void endFight(ISession session, int result, MessageTypeProto.MessageType messageType, int monsterGroupId) throws Exception {

View File

@ -20,7 +20,7 @@ public class JumpBehavior extends BaseBehavior {
MapLogic.getInstance().initMap(user.getMapManager(), user); MapLogic.getInstance().initMap(user.getMapManager(), user);
return true; return true;
} else { } else {
MapLogic.getInstance().resetMapInfo(user); MapLogic.getInstance().resetMapInfo(user, false);
} }
return true; return true;
} }