From 871ba646e0da90b74c1665867c1fcf4ac234a226 Mon Sep 17 00:00:00 2001 From: jiahuiwen Date: Tue, 20 Oct 2020 20:08:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=82=E5=A6=96=E5=8F=AF=E4=B8=8B=E9=98=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/logic/hero/HeroLogic.java | 13 ++++++- .../java/config/SSpiritAnimalSetting.java | 39 +++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 tablemanager/src/main/java/config/SSpiritAnimalSetting.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java index d1bfa1b5a..851f5757f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java @@ -694,11 +694,22 @@ public class HeroLogic{ * @param teamPokemonInfos */ public void savePokemonTeam(ISession session, List teamPokemonInfos) throws Exception { - if (teamPokemonInfos == null || teamPokemonInfos.isEmpty()) { + if (teamPokemonInfos == null) { LOGGER.info("savePokemonTeam uid=>{} , teamPokemonInfos isEmpty", session.getUid()); throw new ErrorCodeException(ErrorCode.newDefineCode("Pokemon null")); } User user = UserManager.getUser(session.getUid()); + int level = user.getPlayerInfoManager().getLevel(); + int openCount = 0; + for (int sprintLevel : SSpiritAnimalSetting.sSpiritAnimalSetting.getBlockUnlockLevel()) { + if (level >= sprintLevel) { + openCount++; + } + } + if (teamPokemonInfos.size() > openCount) { + LOGGER.info("savePokemonTeam uid=>{} , count is wrong ", session.getUid()); + throw new ErrorCodeException(ErrorCode.newDefineCode("count is wrong : " + openCount)); + } Map pokemonMap = user.getPokemonManager().getPokemonMap(); Map pokemonTeamMap = new HashMap<>(); for (CommonProto.TeamPokemonInfo teamPokemonInfo : teamPokemonInfos) { diff --git a/tablemanager/src/main/java/config/SSpiritAnimalSetting.java b/tablemanager/src/main/java/config/SSpiritAnimalSetting.java new file mode 100644 index 000000000..da58f715b --- /dev/null +++ b/tablemanager/src/main/java/config/SSpiritAnimalSetting.java @@ -0,0 +1,39 @@ +package config; + +import manager.STableManager; +import manager.Table; + +@Table(name ="SpiritAnimalSetting") +public class SSpiritAnimalSetting implements BaseConfig { + + private int id; + + private int[] blockUnlockLevel; + + private int proPercent; + + private int returnCost; + + public static SSpiritAnimalSetting sSpiritAnimalSetting; + @Override + public void init() throws Exception { + sSpiritAnimalSetting = STableManager.getConfig(SSpiritAnimalSetting.class).get(1); + } + + + public int getId() { + return id; + } + + public int[] getBlockUnlockLevel() { + return blockUnlockLevel; + } + + public int getProPercent() { + return proPercent; + } + + public int getReturnCost() { + return returnCost; + } +} \ No newline at end of file