更新地图修改
parent
dda12ccfec
commit
c07f2f2b2b
|
@ -510,28 +510,31 @@ public class MapLogic {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean updateMapByOnlyConsumeActionPower(ISession session, int curXY, int triggerXY, List<Integer> cells, MessageTypeProto.MessageType messageType) throws Exception {
|
public boolean updateMapByOnlyConsumeActionPower(ISession session, int triggerXY, List<Integer> cells, MessageTypeProto.MessageType messageType) throws Exception {
|
||||||
if (triggerXY == -1000) {
|
if (triggerXY == -1000) {
|
||||||
int uid = session.getUid();
|
int uid = session.getUid();
|
||||||
User user = UserManager.getUser(uid);
|
User user = UserManager.getUser(uid);
|
||||||
MapManager mapManager = user.getMapManager();
|
if(!cells.isEmpty()){
|
||||||
mapManager.addWalkCells(new HashSet<>(cells));
|
int curXY = cells.get(cells.size()-1);
|
||||||
if(mapManager.getCurMapId()!=0){
|
MapManager mapManager = user.getMapManager();
|
||||||
if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4){
|
mapManager.addWalkCells(new HashSet<>(cells));
|
||||||
int[][] cost = new int[1][];
|
if(mapManager.getCurMapId()!=0){
|
||||||
int costId = SChallengeSetting.getChallengeSetting().getActionPowerId();
|
if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4){
|
||||||
int costNum = cells.size();
|
int[][] cost = new int[1][];
|
||||||
mapManager.updateEndlessConsumeExecution(mapManager.getEndlessMapInfo().getConsumeExecution()+costNum);
|
int costId = SChallengeSetting.getChallengeSetting().getActionPowerId();
|
||||||
cost[0]= new int[]{costId,costNum};
|
int costNum = cells.size();
|
||||||
boolean costResult = ItemUtil.itemCost(user,cost,BIReason.ENDLESS_CONSUME_EXECUTION,1);
|
mapManager.updateEndlessConsumeExecution(mapManager.getEndlessMapInfo().getConsumeExecution()+costNum);
|
||||||
if(!costResult){
|
cost[0]= new int[]{costId,costNum};
|
||||||
costNum = user.getItemManager().getItem(costId).getItemNum();
|
boolean costResult = ItemUtil.itemCost(user,cost,BIReason.ENDLESS_CONSUME_EXECUTION,1);
|
||||||
cost[0][1]= costNum;
|
if(!costResult){
|
||||||
ItemUtil.itemCost(user,cost,BIReason.ENDLESS_CONSUME_EXECUTION,1);
|
costNum = user.getItemManager().getItem(costId).getItemNum();
|
||||||
|
cost[0][1]= costNum;
|
||||||
|
ItemUtil.itemCost(user,cost,BIReason.ENDLESS_CONSUME_EXECUTION,1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
mapManager.setCurXY(curXY);
|
||||||
}
|
}
|
||||||
mapManager.setCurXY(curXY);
|
|
||||||
MapInfoProto.MapUpdateResponse mapUpdateResponse = MapInfoProto.MapUpdateResponse.newBuilder()
|
MapInfoProto.MapUpdateResponse mapUpdateResponse = MapInfoProto.MapUpdateResponse.newBuilder()
|
||||||
.setLeftTime(getLeftTime(user, true))
|
.setLeftTime(getLeftTime(user, true))
|
||||||
.build();
|
.build();
|
||||||
|
@ -544,7 +547,7 @@ public class MapLogic {
|
||||||
|
|
||||||
public void updateMap(ISession session, int curXY, int triggerXY, List<Integer> cells, MessageTypeProto.MessageType messageType) throws Exception {
|
public void updateMap(ISession session, int curXY, int triggerXY, List<Integer> cells, MessageTypeProto.MessageType messageType) throws Exception {
|
||||||
LOGGER.info("updateMap() curXY=>{},triggerXY=>{},cells={}", curXY, triggerXY,cells);
|
LOGGER.info("updateMap() curXY=>{},triggerXY=>{},cells={}", curXY, triggerXY,cells);
|
||||||
if (updateMapByOnlyConsumeActionPower(session, curXY, triggerXY, cells, messageType)) {
|
if (updateMapByOnlyConsumeActionPower(session, triggerXY, cells, messageType)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (triggerXY != curXY) {
|
if (triggerXY != curXY) {
|
||||||
|
|
Loading…
Reference in New Issue