package config; import manager.STableManager; import manager.Table; import java.util.HashMap; import java.util.Map; @Table(name ="RingFireConfig") public class SRingFireConfig implements BaseConfig { private int id; private int ringId; private int ringQuality; private int ringLevel; private int playerLevel; private int[] fireId; private int[][] property; private static Map> sRingFireByRingIdAndLevelMap; @Override public void init() throws Exception { Map config = STableManager.getConfig(SRingFireConfig.class); sRingFireByRingIdAndLevelMap = new HashMap<>(); for(SRingFireConfig sRingFireConfig : config.values()){ int ringId = sRingFireConfig.getRingId(); int ringLevel = sRingFireConfig.getRingLevel(); sRingFireByRingIdAndLevelMap.computeIfAbsent(ringId,v->new HashMap<>()).put(ringLevel,sRingFireConfig); } } public static SRingFireConfig getsRingFireByRingIdAndLevel(int ringId,int ringLevel) { if(!sRingFireByRingIdAndLevelMap.containsKey(ringId)){ return null; } return sRingFireByRingIdAndLevelMap.get(ringId).get(ringLevel); } public int getID() { return id; } public int getRingId() { return ringId; } public int getRingQuality() { return ringQuality; } public int getRingLevel() { return ringLevel; } public int getPlayerLevel() { return playerLevel; } public int[] getFireId() { return fireId; } public int[][] getProperty() { return property; } }