miduo_server/tablemanager/src/main/java/config/SDifferDemonsBoxSetting.java

132 lines
3.1 KiB
Java

package config;
import manager.STableManager;
import manager.Table;
import util.TimeUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Table(name ="DifferDemonsBoxSetting")
public class SDifferDemonsBoxSetting implements BaseConfig {
private int id;
private int[][] mainCost;
private int secondaryCost;
private int levelLimit;
private int freeTime;
private int[] extraItem;
private int seasonTimes;
private String seasonOpen;
private long seasonStartLong;
private String seasonEnd;
private long seasonEndLong;
private int randomPool;
private int limitPrivigele;
private static Map<Integer, SDifferDemonsBoxSetting> config;
private static Map<Integer, List<Integer>> idBySeasonIdMap;
@Override
public void init() throws Exception {
Map<Integer, SDifferDemonsBoxSetting> configTmp = STableManager.getConfig(SDifferDemonsBoxSetting.class);
Map<Integer, List<Integer>> idBySeasonIdMapTmp = new HashMap<>();
for(SDifferDemonsBoxSetting sDifferDemonsBoxSetting :configTmp.values()){
sDifferDemonsBoxSetting.setSeasonStartLong(TimeUtils.parseTimeToMiles(sDifferDemonsBoxSetting.getSeasonOpen(), TimeUtils.Stand_CeHua_Data_format));
sDifferDemonsBoxSetting.setSeasonEndLong(TimeUtils.parseTimeToMiles(sDifferDemonsBoxSetting.getSeasonEnd(), TimeUtils.Stand_CeHua_Data_format));
if(!idBySeasonIdMapTmp.containsKey(sDifferDemonsBoxSetting.getSeasonTimes())){
idBySeasonIdMapTmp.put(sDifferDemonsBoxSetting.getSeasonTimes(),new ArrayList<>());
}
idBySeasonIdMapTmp.get(sDifferDemonsBoxSetting.getSeasonTimes()).add(sDifferDemonsBoxSetting.getId());
}
config = configTmp;
idBySeasonIdMap = idBySeasonIdMapTmp;
}
public static Map<Integer, SDifferDemonsBoxSetting> getConfig() {
return config;
}
public static List<Integer> getIdsBySeasonId(int season) {
return idBySeasonIdMap.get(season);
}
public int getId() {
return id;
}
public int[][] getMainCost() {
return mainCost;
}
public int getSecondaryCost() {
return secondaryCost;
}
public int getLevelLimit() {
return levelLimit;
}
public int getFreeTime() {
return freeTime;
}
public int[] getExtraItem() {
return extraItem;
}
public int getSeasonTimes() {
return seasonTimes;
}
private String getSeasonOpen() {
return seasonOpen;
}
private String getSeasonEnd() {
return seasonEnd;
}
public int getRandomPool() {
return randomPool;
}
public long getSeasonStartLong() {
return seasonStartLong;
}
public void setSeasonStartLong(long seasonStartLong) {
this.seasonStartLong = seasonStartLong;
}
public long getSeasonEndLong() {
return seasonEndLong;
}
public void setSeasonEndLong(long seasonEndLong) {
this.seasonEndLong = seasonEndLong;
}
public int getLimitPrivigele() {
return limitPrivigele;
}
}