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

190 lines
3.7 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package config;
import manager.STableManager;
import manager.Table;
import java.util.*;
@Table(name ="EquipConfig")
public class SEquipConfig implements BaseConfig,Comparable<SEquipConfig> {
private int id;
private int suiteID;
private int professionLimit;
private int position;
private int[] propertyMin;
private int[][] property;
private int[] propertyMax;
private int[] pool;
private int secondNumMin;
private int secondNumMax;
private int[] skillPoolId;
private int quality;
private int ifClear;
private int ifShow;
private int initialLevel;
private int score;
private int[] range;
private Set<Integer> rangeHeroTids;
private int star;
private int[][] resource;
private int[][] formula;
private int limit;
private int[] passiveSkill;
/**
* 位置,星级,装备信息
*/
public static Map<Integer,Map<Integer,SEquipConfig>> positionStarMap;
/**
* 星级位置装备id
*/
public static Map<Integer,Map<Integer,Integer>> starByPositionMap;
@Override
public void init() throws Exception {
Map<Integer,Map<Integer,SEquipConfig>> tempMap = new HashMap<>();
Map<Integer,Map<Integer,Integer>> startMap = new HashMap<>();
Map<Integer, SEquipConfig> config = STableManager.getConfig(SEquipConfig.class);
config.forEach((k,v)->{
if(v.getRange()!=null && v.getRange().length>0 && v.getRange()[0]!=0){
Set<Integer> rangeTemp = new HashSet<>();
Arrays.stream(v.getRange()).forEach(e->rangeTemp.add(e));
v.setRangeHeroTids(rangeTemp);
}
if(v.getPosition()!=5){
tempMap.computeIfAbsent(v.getPosition(),m->new HashMap<>()).put(v.getStar(),v);
startMap.computeIfAbsent(v.getStar(),m->new HashMap<>()).put(v.getPosition(),v.getId());
}
});
positionStarMap = tempMap;
starByPositionMap = startMap;
}
public int getId() {
return id;
}
public int getProfessionLimit() {
return professionLimit;
}
public int getPosition() {
return position;
}
public int[] getPropertyMin() {
return propertyMin;
}
public int[] getPropertyMax() {
return propertyMax;
}
public int[] getPool() {
return pool;
}
public int getSecondNumMin() {
return secondNumMin;
}
public int getSecondNumMax() {
return secondNumMax;
}
public int[] getSkillPoolId() {
return skillPoolId;
}
public int getIfClear() {
return ifClear;
}
public int getQuality() {
return quality;
}
public int getInitialLevel() {
return initialLevel;
}
public int getScore() {
return score;
}
public int getIfShow(){return ifShow; }
public Set<Integer> getRangeHeroTids() {
return rangeHeroTids;
}
public void setRangeHeroTids(Set<Integer> rangeHeroTids) {
this.rangeHeroTids = rangeHeroTids;
}
public int[] getRange() {
return range;
}
public int getStar() {
return star;
}
public void setStar(int star) {
this.star = star;
}
public int[][] getResource() {
return resource;
}
public int[][] getFormula() {
return formula;
}
public int getLimit() {
return limit;
}
public int[] getPassiveSkill() {
return passiveSkill;
}
public int[][] getProperty() {
return property;
}
public int getSuiteID() {
return suiteID;
}
@Override
public int compareTo(SEquipConfig o) {
return this.getStar() - o.getStar();
}
}