From 67d0f78d5bf0d18e97ccd0a9e68df3ec861d5057 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Mon, 4 Nov 2019 18:11:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=B0=E5=9B=BE=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handler/activity/GetLuckWheelHandler.java | 1 - .../jieling/handler/map/mapType/AbstractMap.java | 11 +++++++++-- .../jieling/handler/map/mapType/EndlessMap.java | 16 +++++++++++++--- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/GetLuckWheelHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/GetLuckWheelHandler.java index 7d2901326..3b77a0b20 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/GetLuckWheelHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/GetLuckWheelHandler.java @@ -1,7 +1,6 @@ package com.ljsd.jieling.handler.activity; import com.ljsd.jieling.chat.logic.ChatLogic; -import com.ljsd.jieling.config.*; import com.ljsd.jieling.globals.BIReason; import com.ljsd.jieling.globals.Global; import com.ljsd.jieling.handler.BaseHandler; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapType/AbstractMap.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapType/AbstractMap.java index 467e3cb01..c8c6e67e3 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapType/AbstractMap.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapType/AbstractMap.java @@ -108,9 +108,9 @@ public abstract class AbstractMap implements IMap { mapEnterResponse.setReviveTime(reviveTime); } + mapEnterResponse.addAllWakeCells(mapManager.getWalkCells() == null ? new ArrayList<>() : mapManager.getWalkCells()); mapEnterResponse.setDieCount(mapManager.getDieCount()); mapEnterResponse.addAllMapList(cells); - mapEnterResponse.addAllWakeCells(mapManager.getWalkCells() == null ? new ArrayList<>() : mapManager.getWalkCells()); if (mapManager.getTemporaryItems() != null) { mapEnterResponse.setTemporaryItems(CBean2Proto.getDrop(mapManager.getTemporaryItems())); } @@ -139,6 +139,7 @@ public abstract class AbstractMap implements IMap { .build(); mapEnterResponse.addHeroInfos(heroInfo); } + LOGGER.info("enterMap() uid=>{} mapId =>{}", uid, mapManager.getCurMapId()); } @@ -214,7 +215,7 @@ public abstract class AbstractMap implements IMap { Poster.getPoster().dispatchEvent(new StoryEvent(user.getId(),1)); } - private void cellToProto(List cells, Map.Entry entry) { + protected void cellToProto(List cells, Map.Entry entry) { Cell cell = entry.getValue(); if (cell.getEventId() == -1) { return; @@ -633,4 +634,10 @@ public abstract class AbstractMap implements IMap { MapLogic.getInstance().initMapMission(mapManager); } + public void enterResponseInfoBuild(MapInfoProto.MapEnterResponse.Builder mapEnterResponse,List cells,Set walkCells,int curXY){ + mapEnterResponse.setCurXY(curXY); + mapEnterResponse.addAllMapList(cells); + mapEnterResponse.addAllWakeCells(walkCells); + } + } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapType/EndlessMap.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapType/EndlessMap.java index 5843deefa..2681a70e1 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapType/EndlessMap.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapType/EndlessMap.java @@ -70,10 +70,20 @@ public class EndlessMap extends AbstractMap{ mapManager.setMapInfo(endlessMapCellInfo); } Set walkCell = mapManager.getEndlessMapInfo().getWalkCell(); - if(walkCell!=null&&walkCell.size()>0){ + if(!walkCell.isEmpty()){ mapManager.setWalkCells(walkCell); } + if(endlessMapInfo.getCurCell()!=0){ + mapManager.setCurXY(endlessMapInfo.getCurCell()); + } } + List cells = new ArrayList<>(mapManager.getMapInfo().size()); + for (Map.Entry entry : mapManager.getMapInfo().entrySet()) { + cellToProto(cells, entry); + } + mapEnterResponse.setCurXY(mapManager.getCurXY()); + mapEnterResponse.addAllMapList(cells); + mapEnterResponse.addAllWakeCells(mapManager.getWalkCells() == null ? new ArrayList<>() : mapManager.getWalkCells()); mapManager.updateEndlessMapId(mapId); for(Map.Entry> entry :endlessMapInfo.getMapSign().entrySet()){ int curMapId = entry.getKey(); @@ -100,7 +110,6 @@ public class EndlessMap extends AbstractMap{ @Override public void outMap(int uid,int outType, int curXY,MapInfoProto.MapOutResponse.Builder builder) throws Exception{ - super.outMap(uid, outType, curXY, builder); MapManager mapManager = UserManager.getUser(uid).getMapManager(); if(outType!=1){ if(MapLogic.endlessSeason!=mapManager.getEndlessMapInfo().getSeason()){ @@ -114,6 +123,7 @@ public class EndlessMap extends AbstractMap{ //无尽副本信息保存 mapManager.endlessWalkCellSave(mapManager.getWalkCells()); mapManager.endlessMapInfoSave(mapManager.getMapInfo()); + super.outMap(uid, outType, curXY, builder); } @Override @@ -315,7 +325,7 @@ public class EndlessMap extends AbstractMap{ @Override public int getXY(MapManager mapManager) { int xy = super.getXY(mapManager); - if(mapManager.getEndlessMapInfo().getSeason()!=endlessSeason) { + if(mapManager.getEndlessMapInfo().getSeason()!=MapLogic.endlessSeason) { for(Map.Entry entry:mapManager.getEndlessMapInfo().getEndlessHeroInfo().entrySet()){ mapManager.updateEndlessHeroHp(entry.getKey(),10000); }