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

105 lines
2.4 KiB
Java

package config;
import manager.STableManager;
import manager.Table;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
@Table(name ="RobotSkill")
public class SRobotSkill implements BaseConfig {
private int id;
private int heroId;
private int[] skill;
private int[][] passiveSkill;
private static Map<Integer,SRobotSkill> skillMap;
@Override
public void init() throws Exception {
Map<Integer, SRobotSkill> config = STableManager.getConfig(SRobotSkill.class);
skillMap = new HashMap<>();
config.forEach((k,v)->skillMap.put(v.getHeroId(),v));
}
public int getId() {
return id;
}
public int getHeroId() {
return heroId;
}
public int[] getSkill() {
return skill;
}
public int[][] getPassiveSkill() {
return passiveSkill;
}
/**
* 根据英雄id和下标id获取几技能
* 主动技能+被动技能
* @param heroTid
* @param index
* @return
*/
public static String getSkills(int heroTid, int index){
StringBuilder builder = new StringBuilder();
SRobotSkill robotSkill = skillMap.get(heroTid);
// 主动技能
for (int i : robotSkill.getSkill()) {
builder.append(i).append("#");
}
// 被动技能
if(robotSkill.getPassiveSkill().length>0){
for (int i : robotSkill.getPassiveSkill()[index]) {
builder.append(i).append("#");
}
}
return builder.toString();
}
/**
* 主动技能
* @param heroTid
* @return
*/
public static String getSkill(int heroTid){
StringBuilder builder = new StringBuilder();
SRobotSkill robotSkill = skillMap.get(heroTid);
if (robotSkill == null){
return "";
}
for (int i : robotSkill.getSkill()) {
builder.append(i).append("#");
}
return builder.toString();
}
/**
* 被动技能
* @param heroTid
* @param index
* @return
*/
public static String getPassiveSkill(int heroTid, int index){
StringBuilder builder = new StringBuilder();
SRobotSkill robotSkill = skillMap.get(heroTid);
if (robotSkill == null){
return "";
}
for (int i : robotSkill.getPassiveSkill()[index]) {
builder.append(i).append("#");
}
return builder.toString();
}
}