package config; import manager.STableManager; import manager.Table; import java.util.Map; import java.util.TreeMap; @Table(name ="GuildBossRewardConfig") public class SGuildBossRewardConfig implements BaseConfig { private int id; private int damage; private int[] reward; private int[][] randomReward; private int[][][] randomRewardAllGroup; private static TreeMap sGuildBossHurtRewardConfig; @Override public void init() throws Exception { Map config = STableManager.getConfig(SGuildBossRewardConfig.class); for(SGuildBossRewardConfig sGuildBossRewardConfig : config.values()){ int[] reward = sGuildBossRewardConfig.getReward(); int prelength=0; int[] preReward=null; int[][][] randomRewardAllGroupTmpPre=null; if(sGuildBossRewardConfig.getId()!=1){ SGuildBossRewardConfig sGuildBossRewardConfigPre = config.get(sGuildBossRewardConfig.getId() - 1); preReward=sGuildBossRewardConfigPre.getReward(); randomRewardAllGroupTmpPre=sGuildBossRewardConfigPre.getRandomRewardAllGroup(); prelength = preReward.length; } int rewardFinl[] = new int[reward.length+prelength]; System.arraycopy(reward,0,rewardFinl,0,reward.length); sGuildBossRewardConfig.setReward(rewardFinl); int[][][] randomRewardAllGroupTmp = new int[sGuildBossRewardConfig.getId()][][]; randomRewardAllGroupTmp[0] =sGuildBossRewardConfig.getRandomReward(); if(prelength>0){ System.arraycopy(preReward,0,rewardFinl,reward.length,preReward.length); /* for(int i=1;i sGuildBossHurtRewardConfigTmp = new TreeMap<>(); config.values().forEach(item ->sGuildBossHurtRewardConfigTmp.put(item.getDamage(),item)); sGuildBossHurtRewardConfig = sGuildBossHurtRewardConfigTmp; } public static SGuildBossRewardConfig getIndexByHurt(int hurtValue){ return sGuildBossHurtRewardConfig.lowerEntry(hurtValue).getValue(); } public int getId() { return id; } public int getDamage() { return damage; } public int[] getReward() { return reward; } public int[][] getRandomReward() { return randomReward; } public void setReward(int[] reward) { this.reward = reward; } public void setRandomReward(int[][] randomReward) { this.randomReward = randomReward; } public int[][][] getRandomRewardAllGroup() { return randomRewardAllGroup; } public void setRandomRewardAllGroup(int[][][] randomRewardAllGroup) { this.randomRewardAllGroup = randomRewardAllGroup; } }