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