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

74 lines
1.6 KiB
Java

package config;
import manager.STableManager;
import manager.Table;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Table(name ="TaskConfig")
public class STaskConfig implements BaseConfig {
private int id;
private int taskType;
private int[][] taskValue;
private int[][] reward;
private int[] jump;
private static Map<Integer,STaskConfig> sTaskConfigMap;
private static Map<Integer, List<STaskConfig>> sTaskConfigByTypeMap;
@Override
public void init() throws Exception {
Map<Integer, STaskConfig> config = STableManager.getConfig(STaskConfig.class);
Map<Integer, List<STaskConfig>> configTmp = new HashMap<>();
for(STaskConfig sTaskConfig : config.values()){
int taskType = sTaskConfig.getTaskType();
if(!configTmp.containsKey(taskType)){
configTmp.put(taskType,new ArrayList<>());
}
configTmp.get(taskType).add(sTaskConfig);
}
sTaskConfigMap = config;
sTaskConfigByTypeMap = configTmp;
}
public static STaskConfig getsTaskConfigById(int missionId) {
return sTaskConfigMap.get(missionId);
}
public static List<STaskConfig> getsTaskConfigByType(int type) {
return sTaskConfigByTypeMap.get(type);
}
public int getId() {
return id;
}
public int getTaskType() {
return taskType;
}
public int[][] getTaskValue() {
return taskValue;
}
public int[][] getReward() {
return reward;
}
public int[] getJump() {
return jump;
}
}