无尽副本提交

back_recharge
lvxinran 2019-08-29 05:52:36 +08:00
parent 6bbd27d1f5
commit 183e4954c1
8 changed files with 104 additions and 19 deletions

View File

@ -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");

View File

@ -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);
}
}

View File

@ -35,6 +35,7 @@ public enum FunctionIdEnum {
Store(20),
Endless(46),
WorkShopTech(101),
WorkShopCreateEquip(102),
WorkShopCreateProtectEquip(103),

View File

@ -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)

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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);
}
}

View File

@ -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;
}
}