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(), "");
return;
}
int leftStep = mapManager.getTotalStep() - cells.size();
if (leftStep <= 0) {
leftStep = 0;
resetMapInfo(user);
LOGGER.info("updateMap() uid=>{}, leftStep=>{}", uid, leftStep);
MapInfoProto.MapUpdateResponse mapUpdateResponse = MapInfoProto.MapUpdateResponse.newBuilder().build();
MessageUtil.sendMessage(session, 1, messageType.getNumber(), mapUpdateResponse, true);
return;
}
mapManager.setTotalStep(leftStep);
// int leftStep = mapManager.getTotalStep() - cells.size();
// if (leftStep <= 0) {
// leftStep = 0;
// 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;
// }
// mapManager.setTotalStep(leftStep);
Cell cell = mapManager.getMapInfo().get(curXY);
if (cell == null) {
cell = mapManager.getMapInfo().get(triggerXY);
@ -511,11 +511,11 @@ public class MapLogic {
MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "");
return;
}
resetMapInfo(user);
resetMapInfo(user, 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.setMapInfo(new HashMap<>());
mapManager.setHeroes(new HashSet<>());
@ -523,10 +523,15 @@ public class MapLogic {
mapManager.setWalkCells(new HashSet<>());
mapManager.setCurXY(0);
mapManager.setCurMapId(0);
TemporaryItems temporaryItems = mapManager.getTemporaryItems();
if (temporaryItems != null) {
ItemUtil.addTemporaryItemToBag(user, temporaryItems);
if (needTemporaryItem) {
TemporaryItems temporaryItems = mapManager.getTemporaryItems();
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 {

View File

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