98 lines
2.8 KiB
Java
98 lines
2.8 KiB
Java
package config;
|
|
|
|
import manager.STableManager;
|
|
import manager.Table;
|
|
|
|
import java.util.*;
|
|
|
|
@Table(name ="CompareNumSetting")
|
|
public class SCompareNumSetting implements BaseConfig {
|
|
|
|
private int id;
|
|
private int chapter;
|
|
private int[][] levelLimit;
|
|
private int[] buildID;
|
|
private int[][] passReward;
|
|
private int repeat;
|
|
|
|
private static Map<Integer, SCompareNumSetting> sCompareNumSettingMap = new HashMap<>();
|
|
private static Map<Integer, List<SCompareNumSetting>> chapter2List = new HashMap<>();
|
|
@Override
|
|
public void init() throws Exception {
|
|
sCompareNumSettingMap = STableManager.getConfig(SCompareNumSetting.class);
|
|
for (SCompareNumSetting cfg: sCompareNumSettingMap.values()) {
|
|
chapter2List.computeIfAbsent(cfg.chapter, v -> new ArrayList<>()).add(cfg);
|
|
}
|
|
}
|
|
|
|
public static int getChapterNumById(int id, boolean isEndGame) {
|
|
int count = 0;
|
|
SCompareNumSetting cfg = sCompareNumSettingMap.get(id);
|
|
if (cfg != null) {
|
|
List<SCompareNumSetting> list = chapter2List.get(cfg.getChapter());
|
|
if (list != null && list.size() > 0) {
|
|
SCompareNumSetting info = list.get(0);
|
|
if (info != null) {
|
|
int lastId = (int)((TreeMap)SCompareNumSetting.getCompareNumSettingMap()).lastEntry().getKey();
|
|
if (lastId == id && isEndGame) {
|
|
count = id - info.getId() + 1;
|
|
}
|
|
else {
|
|
count = id - info.getId();
|
|
}
|
|
if (count < 0) {
|
|
count = 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return count;
|
|
}
|
|
|
|
// public static int[][] getRewardInfoByChapter(int chapter) {
|
|
// List<SCompareNumSetting> list = chapter2List.get(chapter);
|
|
// if (list != null && list.size() > 0) {
|
|
// SCompareNumSetting info = list.get(0);
|
|
// if (info != null) {
|
|
// return info.getReward();
|
|
// }
|
|
// }
|
|
// return new int[0][];
|
|
// }
|
|
|
|
public static SCompareNumSetting getConfig(int id) {
|
|
return sCompareNumSettingMap.get(id);
|
|
}
|
|
|
|
public static Map<Integer, SCompareNumSetting> getCompareNumSettingMap() {
|
|
return sCompareNumSettingMap;
|
|
}
|
|
|
|
public int getId() {
|
|
return id;
|
|
}
|
|
|
|
public int getChapter() {
|
|
return chapter;
|
|
}
|
|
|
|
public int[][] getLevelLimit() {
|
|
return levelLimit;
|
|
}
|
|
|
|
|
|
public int[][] getPassReward() {
|
|
return passReward;
|
|
}
|
|
|
|
public int getRepeat() {
|
|
return repeat;
|
|
}
|
|
|
|
|
|
public static List<SCompareNumSetting> getListByChapter(int chapterId) {
|
|
return chapter2List.get(chapterId);
|
|
}
|
|
|
|
|
|
} |