无尽副本提交
parent
6bbd27d1f5
commit
183e4954c1
|
@ -111,6 +111,7 @@ public class GameApplication {
|
|||
serverConfigTmp.setOpenTime(format);
|
||||
serverConfigTmp.setCacheOpenTime(serverOenTime);
|
||||
serverConfigTmp.setId(1);
|
||||
serverConfigTmp.setWorldLevel(1);
|
||||
MongoUtil.getInstence().getMyMongoTemplate().saveWithoutMongoRoot(serverConfigTmp);
|
||||
}else{
|
||||
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
package com.ljsd.jieling.config;
|
||||
|
||||
import com.ljsd.common.mogodb.MongoBase;
|
||||
import org.springframework.data.annotation.Id;
|
||||
import org.springframework.data.annotation.Transient;
|
||||
import org.springframework.data.mongodb.core.mapping.Document;
|
||||
import org.springframework.data.mongodb.core.mapping.Field;
|
||||
|
||||
@Document( collection = "server_config")
|
||||
public class ServerConfig {
|
||||
public class ServerConfig extends MongoBase {
|
||||
|
||||
@Id
|
||||
private int id;
|
||||
|
@ -14,6 +15,9 @@ public class ServerConfig {
|
|||
@Field(value = "open_time")
|
||||
private String openTime;
|
||||
|
||||
@Field(value = "world_level")
|
||||
private int worldLevel;
|
||||
|
||||
@Transient
|
||||
private long cacheOpenTime;
|
||||
|
||||
|
@ -40,4 +44,13 @@ public class ServerConfig {
|
|||
public void setCacheOpenTime(long cacheOpenTime) {
|
||||
this.cacheOpenTime = cacheOpenTime;
|
||||
}
|
||||
|
||||
public int getWorldLevel() {
|
||||
return worldLevel;
|
||||
}
|
||||
|
||||
public void setWorldLevel(int worldLevel) {
|
||||
this.worldLevel = worldLevel;
|
||||
updateString("world_level",worldLevel);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,6 +35,7 @@ public enum FunctionIdEnum {
|
|||
|
||||
Store(20),
|
||||
|
||||
Endless(46),
|
||||
WorkShopTech(101),
|
||||
WorkShopCreateEquip(102),
|
||||
WorkShopCreateProtectEquip(103),
|
||||
|
|
|
@ -3,8 +3,11 @@ package com.ljsd.jieling.handler;
|
|||
import com.ljsd.jieling.config.SChallengeConfig;
|
||||
import com.ljsd.jieling.config.SLotterySetting;
|
||||
import com.ljsd.jieling.config.SRechargeCommodityConfig;
|
||||
import com.ljsd.jieling.config.ServerConfig;
|
||||
import com.ljsd.jieling.db.mongo.MongoUtil;
|
||||
import com.ljsd.jieling.db.redis.RedisKey;
|
||||
import com.ljsd.jieling.db.redis.RedisUtil;
|
||||
import com.ljsd.jieling.handler.map.MapLogic;
|
||||
import com.ljsd.jieling.handler.map.MapManager;
|
||||
import com.ljsd.jieling.logic.GlobalDataManaager;
|
||||
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
||||
|
@ -114,9 +117,8 @@ public class GetPlayerInfoHandler extends BaseHandler{
|
|||
//试炼已领取奖励层数
|
||||
Set<Integer> towerFloorReceivedReward = mapManager.getTowerReceivedReward().keySet();
|
||||
CommonProto.EndlessInfo.Builder endless = CommonProto.EndlessInfo.newBuilder();
|
||||
endless.setMapId(4001);
|
||||
endless.setNextTime((int)(TimeUtils.getNextWeekdayStartTime(TimeUtils.now(), 1)/1000));
|
||||
endless.setWorldLevel(99);
|
||||
endless.setMapId(MapLogic.getEndlessMapId());
|
||||
endless.setWorldLevel(MongoUtil.getInstence().getMyMongoTemplate().findById(1, ServerConfig.class).getWorldLevel());
|
||||
PlayerInfoProto.GetPlayerInfoResponse getPlayerInfoResponse
|
||||
= PlayerInfoProto.GetPlayerInfoResponse.newBuilder()
|
||||
.setPlayer(player)
|
||||
|
|
|
@ -26,6 +26,10 @@ public class EndlessMapInfo {
|
|||
|
||||
private Map<Integer, Cell> mapInfo = new HashMap<>();
|
||||
|
||||
private int season;
|
||||
|
||||
|
||||
|
||||
public int getCurMapId() {
|
||||
return curMapId;
|
||||
}
|
||||
|
@ -114,4 +118,12 @@ public class EndlessMapInfo {
|
|||
public Map<Integer, Cell> getMapInfo() {
|
||||
return mapInfo;
|
||||
}
|
||||
|
||||
public int getSeason() {
|
||||
return season;
|
||||
}
|
||||
|
||||
public void setSeason(int season) {
|
||||
this.season = season;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,6 +16,7 @@ import com.ljsd.jieling.handler.mission.Mission;
|
|||
import com.ljsd.jieling.ktbeans.KTGameType;
|
||||
import com.ljsd.jieling.ktbeans.KtEventUtils;
|
||||
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
|
||||
import com.ljsd.jieling.logic.GlobalDataManaager;
|
||||
import com.ljsd.jieling.logic.OnlineUserManager;
|
||||
import com.ljsd.jieling.logic.STableManager;
|
||||
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||
|
@ -46,6 +47,9 @@ public class MapLogic {
|
|||
|
||||
private Map<Integer, BaseBehavior> baseBehaviorMap = new HashMap<>();
|
||||
|
||||
private static int endlessSeason;
|
||||
|
||||
private static int endlessMapId;
|
||||
public static final int STAR_1 = 1; // 完成任务
|
||||
public static final int STAR_2 = 2; // 100% 探索度
|
||||
public static final int STAR_3 = 3; // 复活次数少于N次
|
||||
|
@ -215,16 +219,23 @@ public class MapLogic {
|
|||
|
||||
}
|
||||
}
|
||||
Map<Integer, Cell> endlessMapCellInfo = mapManager.getEndlessMapInfo().getMapInfo();
|
||||
if(endlessMapCellInfo !=null&&endlessMapCellInfo.size()>0){
|
||||
mapManager.setMapInfo(endlessMapCellInfo);
|
||||
}
|
||||
Set<Integer> walkCell = mapManager.getEndlessMapInfo().getWalkCell();
|
||||
if(walkCell!=null&&walkCell.size()>0){
|
||||
mapManager.setWalkCells(walkCell);
|
||||
EndlessMapInfo endlessMapInfo = mapManager.getEndlessMapInfo();
|
||||
if(endlessMapInfo.getSeason()!=endlessSeason){
|
||||
mapManager.updateEndlessSeason(endlessSeason);
|
||||
mapManager.updateEndlessMapId(0);
|
||||
mapManager.endlessWalkCellSave(new HashSet<>());
|
||||
mapManager.endlessMapInfoSave(new HashMap<>());
|
||||
}else{
|
||||
Map<Integer, Cell> endlessMapCellInfo = mapManager.getEndlessMapInfo().getMapInfo();
|
||||
if(endlessMapCellInfo !=null&&endlessMapCellInfo.size()>0){
|
||||
mapManager.setMapInfo(endlessMapCellInfo);
|
||||
}
|
||||
Set<Integer> walkCell = mapManager.getEndlessMapInfo().getWalkCell();
|
||||
if(walkCell!=null&&walkCell.size()>0){
|
||||
mapManager.setWalkCells(walkCell);
|
||||
}
|
||||
}
|
||||
mapManager.updateEndlessMapId(mapId);
|
||||
EndlessMapInfo endlessMapInfo = mapManager.getEndlessMapInfo();
|
||||
for(Map.Entry<Integer,Map<Integer,String>> entry :endlessMapInfo.getMapSign().entrySet()){
|
||||
int curMapId = entry.getKey();
|
||||
for(Map.Entry<Integer,String> signEntry: entry.getValue().entrySet()){
|
||||
|
@ -1007,8 +1018,8 @@ public class MapLogic {
|
|||
mapManager.updateEndlessFightCount(0);
|
||||
}
|
||||
//无尽副本信息保存
|
||||
mapManager.endlessWalkCellSave();
|
||||
mapManager.endlessMapInfoSave();
|
||||
mapManager.endlessWalkCellSave(mapManager.getWalkCells());
|
||||
mapManager.endlessMapInfoSave(mapManager.getMapInfo());
|
||||
}
|
||||
if(outType == 0||mapManager.getTower()-1==STrialConfig.getHighestTower()){
|
||||
if(mapManager.getTowerUnusedBuffer()!=null){
|
||||
|
@ -3214,4 +3225,22 @@ public class MapLogic {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*更新无尽副本赛季
|
||||
*/
|
||||
public void updateEndlessSeason(int season){
|
||||
this.endlessSeason = season;
|
||||
}
|
||||
|
||||
/**
|
||||
* 无尽副本设置当前mapId
|
||||
* @param endlessMapId
|
||||
*/
|
||||
public static void setEndlessMapId(int endlessMapId) {
|
||||
MapLogic.endlessMapId = endlessMapId;
|
||||
}
|
||||
|
||||
public static int getEndlessMapId() {
|
||||
return endlessMapId;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -769,14 +769,18 @@ public class MapManager extends MongoBase {
|
|||
endlessMapInfo.putRefreshTime(cellId,time);
|
||||
updateString("endlessMapInfo.cellRefreshTime."+cellId,time);
|
||||
}
|
||||
public void endlessWalkCellSave(){
|
||||
public void endlessWalkCellSave(Set<Integer> walkCells){
|
||||
endlessMapInfo.setWalkCell(walkCells);
|
||||
updateString("endlessMapInfo.walkCells",walkCells);
|
||||
}
|
||||
public void endlessMapInfoSave(){
|
||||
public void endlessMapInfoSave(Map<Integer, Cell> mapInfo){
|
||||
endlessMapInfo.setMapInfo(mapInfo);
|
||||
updateString("endlessMapInfo.mapInfo",mapInfo);
|
||||
}
|
||||
public void updateEndlessSeason(int season){
|
||||
endlessMapInfo.setSeason(season);
|
||||
updateString("endlessMapInfo.season",season);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -3,11 +3,13 @@ package com.ljsd.jieling.logic;
|
|||
import com.ljsd.GameApplication;
|
||||
import com.ljsd.jieling.config.SDailyTasksConfig;
|
||||
import com.ljsd.jieling.config.SGlobalSystemConfig;
|
||||
import com.ljsd.jieling.config.ServerConfig;
|
||||
import com.ljsd.jieling.config.json.KTSDKConstans;
|
||||
import com.ljsd.jieling.config.json.ServerProperties;
|
||||
import com.ljsd.jieling.core.FunctionIdEnum;
|
||||
import com.ljsd.jieling.core.GlobalsDef;
|
||||
import com.ljsd.jieling.db.mongo.MongoUtil;
|
||||
import com.ljsd.jieling.handler.map.MapLogic;
|
||||
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
||||
import com.ljsd.jieling.logic.arena.ArenaLogic;
|
||||
import com.ljsd.jieling.logic.dao.GuilidManager;
|
||||
|
@ -147,7 +149,8 @@ public class GlobalDataManaager {
|
|||
|
||||
}
|
||||
|
||||
public void openAction(List<Integer> ids){
|
||||
public void openAction(List<Integer> ids) throws Exception {
|
||||
ServerConfig serverConfigTmp = MongoUtil.getInstence().getMyMongoTemplate().findById(1, ServerConfig.class);
|
||||
for(Integer openId : ids){
|
||||
FunctionIdEnum type = FunctionIdEnum.getFunctionIdEnumById(openId);
|
||||
if(type == null){
|
||||
|
@ -157,6 +160,11 @@ public class GlobalDataManaager {
|
|||
switch (type){
|
||||
case Arena:
|
||||
ArenaLogic.getInstance().updateArenaSeason(timeControllerOfFunction.getTimes());
|
||||
break;
|
||||
case Endless:
|
||||
MapLogic.getInstance().updateEndlessSeason(timeControllerOfFunction.getTimes());
|
||||
serverConfigTmp.setWorldLevel(calWorldLevel());
|
||||
MapLogic.getInstance().setEndlessMapId(getEndleeMapIdByLevel());
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -166,10 +174,15 @@ public class GlobalDataManaager {
|
|||
|
||||
public void closeAction(List<Integer> ids) throws Exception {
|
||||
for(Integer closeId : ids){
|
||||
switch (closeId){
|
||||
case 8:
|
||||
FunctionIdEnum type = FunctionIdEnum.getFunctionIdEnumById(closeId);
|
||||
|
||||
switch (type){
|
||||
case Arena:
|
||||
ArenaLogic.getInstance().sendReward(GlobalsDef.ARENA_SEASON_REWARD);
|
||||
ArenaLogic.getInstance().updateArenaSeason(0);
|
||||
break;
|
||||
case Endless:
|
||||
MapLogic.getInstance().updateEndlessSeason(0);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -184,6 +197,8 @@ public class GlobalDataManaager {
|
|||
if(globalSystemControl != null){
|
||||
TimeControllerOfFunction timeControllerOfFunction = globalSystemControl.getTimeControllerOfFunctionMap().get(8);
|
||||
ArenaLogic.getInstance().updateArenaSeason(timeControllerOfFunction.getTimes());
|
||||
MapLogic.getInstance().updateEndlessSeason(globalSystemControl.getTimeControllerOfFunctionMap().get(46).getTimes());
|
||||
MapLogic.getInstance().setEndlessMapId(getEndleeMapIdByLevel());
|
||||
}
|
||||
MissionEventDistributor.init();
|
||||
DataManagerDistributor.init();
|
||||
|
@ -321,4 +336,12 @@ public class GlobalDataManaager {
|
|||
}
|
||||
|
||||
|
||||
private static int calWorldLevel(){
|
||||
return 20;
|
||||
}
|
||||
private static int getEndleeMapIdByLevel() throws Exception {
|
||||
ServerConfig config = MongoUtil.getInstence().getMyMongoTemplate().findById(1, ServerConfig.class);
|
||||
int mapId = config.getWorldLevel() * 0 + 4001;
|
||||
return mapId;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue