Merge branch 'master' of 60.1.1.230:backend/jieling_server

back_recharge
wangyuan 2019-08-07 16:30:39 +08:00
commit a1db43c4e3
5 changed files with 65 additions and 5 deletions

View File

@ -2,6 +2,7 @@ package com.ljsd.jieling.handler.map;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class EndlessMapInfo {
private int curMapId;
@ -16,6 +17,8 @@ public class EndlessMapInfo {
private int consumeExecution;
private Set<Integer> openMap;
public int getCurMapId() {
return curMapId;
}
@ -68,4 +71,12 @@ public class EndlessMapInfo {
public void setConsumeExecution(int consumeExecution) {
this.consumeExecution = consumeExecution;
}
public Set<Integer> getOpenMap() {
return openMap;
}
public void setOpenMap(Set<Integer> openMap) {
this.openMap = openMap;
}
}

View File

@ -108,6 +108,7 @@ public class EventType {
public static final int fourtyFour = 44;
public static final int fourtyfive = 45;
public static final int fourtySix = 46;
public static final int fourtySeven = 47;
public static final int updatePonintEvent = 1;

View File

@ -2833,6 +2833,19 @@ public class MapLogic {
}
Map<String, EndlessHero> endlessHeroInfo = endlessMapInfo.getEndlessHeroInfo();
MapInfoProto.GetEndlessHeroResponse.Builder response = MapInfoProto.GetEndlessHeroResponse.newBuilder();
//已开启地图处理
Map<Integer, SEndlessMapConfig> sEndlessMapConfigMap = SEndlessMapConfig.sEndlessMapConfigMap;
if(endlessMapInfo.getOpenMap()==null||endlessMapInfo.getOpenMap().size()<1){
Set<Integer> openMap = new HashSet<>();
for(Map.Entry<Integer, SEndlessMapConfig> entry :sEndlessMapConfigMap.entrySet()){
openMap.add(entry.getKey());
break;
}
mapManager.updateEndlessOpenedMap(openMap);
}
for(Integer map:mapManager.getEndlessMapInfo().getOpenMap()){
response.addOpenMapId(map);
}
for(Map.Entry<String,Hero> heroEntry : heroManager.getHeroMap().entrySet()) {
if(heroEntry.getValue().getLevel()<20){
continue;
@ -2881,6 +2894,7 @@ public class MapLogic {
user.getTeamPosManager().updateTeamPosByTeamId(401,team);
}
MessageUtil.sendMessage(session,1,messageType.getNumber(),response.build(),true);
}

View File

@ -2,11 +2,9 @@ package com.ljsd.jieling.handler.map;
import com.ljsd.common.mogodb.MongoBase;
import com.ljsd.jieling.config.SChallengeSetting;
import com.ljsd.jieling.config.SGameSetting;
import com.ljsd.jieling.config.SVipLevelConfig;
import com.ljsd.jieling.core.GlobalsDef;
import com.ljsd.jieling.core.VipPrivilegeType;
import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.globals.Global;
import com.ljsd.jieling.handler.mission.Mission;
@ -15,10 +13,13 @@ import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
import com.ljsd.jieling.logic.dao.Item;
import com.ljsd.jieling.logic.dao.PlayerManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.util.*;
import com.ljsd.jieling.util.MathUtils;
import com.ljsd.jieling.util.TimeUtils;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
public class MapManager extends MongoBase {
@ -738,6 +739,10 @@ public class MapManager extends MongoBase {
updateString("endlessMapInfo.consumeExecution",endlessMapInfo.getConsumeExecution());
}
public void updateEndlessOpenedMap(Set<Integer> mapIds){
endlessMapInfo.setOpenMap(mapIds);
updateString("endlessMapInfo.openMap",mapIds);
}
public int getLastXY() {
return lastXY;
}

View File

@ -0,0 +1,29 @@
package com.ljsd.jieling.handler.map.behavior;
import com.ljsd.jieling.handler.map.EventType;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.protocols.MapInfoProto;
import org.springframework.stereotype.Component;
import java.util.Set;
@Component
public class FourtySevenBehavior extends BaseBehavior {
@Override
public int getBehaviorType() {
return EventType.fourtySeven;
}
@Override
public boolean process(int optionId, User user, int[][] behaviorTypeValues, MapInfoProto.EventUpdateResponse.Builder eventUpdateResponse) throws Exception {
int targetMapId = behaviorTypeValues[0][0];
Set<Integer> openMap = user.getMapManager().getEndlessMapInfo().getOpenMap();
if(openMap.contains(targetMapId)){
return true;
}else{
openMap.add(targetMapId);
user.getMapManager().updateEndlessOpenedMap(openMap);
}
return true;
}
}