diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapType/TowerMap.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapType/TowerMap.java index d8e54e02c..6747c8b52 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapType/TowerMap.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapType/TowerMap.java @@ -54,6 +54,7 @@ public class TowerMap extends AbstractMap { mapManager.updateTrialMapInfo(mapManager.getMapInfo()); mapManager.updateTrialCurXY(mapManager.getCurXY()); mapManager.updateTrialExitMapId(mapManager.getCurMapId()); +// ItemUtil.addTemporaryItemToBag(user,mapManager.getTemporaryItems(),true); if(mapManager.getTowerUnusedBuffer()!=null){ mapManager.setTowerUnusedBuffer(new HashMap<>()); } @@ -107,14 +108,6 @@ public class TowerMap extends AbstractMap { }else{ super.enterMap(uid, mapId, teamId,mapEnterResponse); } -// if(mapManager.getTowerUnusedBuffer()!=null&&mapManager.getTowerUnusedBuffer().size()>=1){ -// List towerBuffs = new ArrayList<>(); -// for(Map.Entry buffer:mapManager.getTowerUnusedBuffer().entrySet()){ -// TowerBuff towerBuff = new TowerBuff(buffer.getKey(),buffer.getValue()); -// towerBuffs.add(CBean2Proto.getTowerBuff(towerBuff)); -// } -// MapEnterResponse.addAllBuf(towerBuffs); -// } Map heroInfo = trialInfo.getHeroInfo(); if(!heroInfo.isEmpty()){ for(Map.Entry entry:heroInfo.entrySet()){ @@ -178,29 +171,6 @@ public class TowerMap extends AbstractMap { int floor = mapManager.getTrialInfo().getFloor(); STrialConfig sTrialConfig; if(floor>10000){ -// int realFloor = floor%10000; -// Map welfareMap = STableManager.getConfig(STrialwelfareConfig.class); -// STrialwelfareConfig useConfig = null; -// for(STrialwelfareConfig config :welfareMap.values()){ -// int[] section = config.getSection(); -// if(realFloor>section[0]&&realFloor<=section[1]){ -// useConfig = config; -// break; -// } -// } -// Map newMap = new HashMap<>(); -// if(useConfig!=null&&useConfig.getBoxPosition()!=null){ -// for(int[] position:useConfig.getBoxPosition()){ -// int cellXY = CellUtil.xy2Pos(position[0], position[1]); -// Cell cell = new Cell(cellXY,0,STrialSetting.sTrialSetting.getBoxPointId()); -// newMap.put(cellXY,cell); -// } -// } -// //生成普通传送门 - -// mapManager.setMapInfo(newMap); -// return; - TreeMap sTrialConfigMap = (TreeMap) STrialConfig.sTrialConfigMap; sTrialConfig = sTrialConfigMap.ceilingEntry(floor).getValue(); }else{ @@ -223,9 +193,6 @@ public class TowerMap extends AbstractMap { Map cellMap3 = new HashMap<>(sTrialConfig.getGameCount()[2]); Map cellMap4 = new HashMap<>(4);//4个怪 - /* if(mapManager.getTowerStartTime()!=0){ - mapManager.setCurrTowerTime((TimeUtils.now()-mapManager.getTowerStartTime())/1000); - }*/ int boxPointId = STrialSetting.sTrialSetting.getBoxPointId(); mapManager.setTowerStartTime(TimeUtils.now()); for(int[] box:sTrialConfig.getBoxPosition()){ @@ -454,6 +421,7 @@ public class TowerMap extends AbstractMap { SMonsterGroup sMonsterGroup = SMonsterGroup.getsMonsterGroupMap().get(groupId); CommonProto.Drop.Builder drop = ItemUtil.drop(user, sMonsterGroup.getRewardgroup(), 1, 1, BIReason.MAP_FAST_FIGHT_REWARD); +// mapManager. if (mapManager.getMonsterId() > 0) { BaseBehavior baseBehavior = baseBehaviorMap.get(10); baseBehavior.afterFastFight(user, groupId, fastFightResponseBuilder); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/miniGame/BombGame.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/miniGame/BombGame.java index 200d5d2cd..3e385968e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/miniGame/BombGame.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/miniGame/BombGame.java @@ -23,7 +23,7 @@ import java.util.Set; * @discribe 探索游戏,炸弹gg */ @Component -public class BombGame implements MapGame { +public class BombGame extends ColorGame { @Override public int getType() { return 18; @@ -32,7 +32,7 @@ public class BombGame implements MapGame { @Override public void initGame(User user) { int type = getType(); - List configs = STrialGameConfig.trialGameMapByType.get(type); + List configs =getUnlockConfigs(user); int[] idArray = new int[configs.size()]; int index = 0 ; for(STrialGameConfig config:configs){ diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/miniGame/CircleGame.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/miniGame/CircleGame.java index e9145b5af..bacfbfa23 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/miniGame/CircleGame.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/miniGame/CircleGame.java @@ -19,7 +19,7 @@ import java.util.List; * @discribe 轮盘游戏 */ @Component -public class CircleGame implements MapGame { +public class CircleGame extends ColorGame{ @Override public int getType() { return 17; @@ -28,7 +28,7 @@ public class CircleGame implements MapGame { @Override public void initGame(User user) { int type = getType(); - List configs = STrialGameConfig.trialGameMapByType.get(type); + List configs =getUnlockConfigs(user); int[] idArray = new int[configs.size()]; int index = 0 ; for(STrialGameConfig config:configs){ diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/miniGame/ColorGame.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/miniGame/ColorGame.java new file mode 100644 index 000000000..0ddb4fa6e --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/miniGame/ColorGame.java @@ -0,0 +1,37 @@ +package com.ljsd.jieling.handler.map.miniGame; + +import com.ljsd.jieling.logic.dao.root.User; +import com.ljsd.jieling.protocols.MapInfoProto; +import config.STrialGameConfig; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author lvxinran + * @date 2020/6/25 + * @discribe + */ +public abstract class ColorGame implements MapGame { + + + @Override + public abstract int getType(); + + @Override + public abstract void initGame(User user); + + @Override + public abstract MapInfoProto.MapGameUpdateResponse updateGame(User user, Object... params) throws Exception; + + protected List getUnlockConfigs(User user){ + int level = user.getPlayerInfoManager().getLevel(); + List configs = STrialGameConfig.trialGameMapByType.get(getType()); + if(configs==null||configs.isEmpty()){ + return new ArrayList<>(); + } + List collect = configs.stream().filter(config -> config.getUnlockLv() > level).collect(Collectors.toList()); + return collect; + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/miniGame/MapLuckyCatGame.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/miniGame/MapLuckyCatGame.java index 4418a0492..307249b91 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/miniGame/MapLuckyCatGame.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/miniGame/MapLuckyCatGame.java @@ -18,7 +18,7 @@ import java.util.List; * @discribe 招财猫游戏 */ @Component -public class MapLuckyCatGame implements MapGame { +public class MapLuckyCatGame extends ColorGame { @Override public int getType() { return 16; @@ -27,7 +27,7 @@ public class MapLuckyCatGame implements MapGame { @Override public void initGame(User user) { int type = getType(); - List configs = STrialGameConfig.trialGameMapByType.get(type); + List configs =getUnlockConfigs(user); int[][] idArray = new int[configs.size()][]; int i = 0 ; for(STrialGameConfig config:configs){ diff --git a/tablemanager/src/main/java/config/STrialGameConfig.java b/tablemanager/src/main/java/config/STrialGameConfig.java index ca70a9a9a..5d285ce79 100644 --- a/tablemanager/src/main/java/config/STrialGameConfig.java +++ b/tablemanager/src/main/java/config/STrialGameConfig.java @@ -23,6 +23,8 @@ public class STrialGameConfig implements BaseConfig { private int max; + private int unlockLv; + public static Map trialGameConfigMap; public static Map> trialGameMapByType; @@ -63,5 +65,7 @@ public class STrialGameConfig implements BaseConfig { return max; } - + public int getUnlockLv() { + return unlockLv; + } } \ No newline at end of file