修改读表工具,支持long数组

master_longzhu_new
DESKTOP-C3M45P4\dengdan 2025-12-16 19:55:43 +08:00
parent 2457575a11
commit 2d558cbaf2
3 changed files with 34 additions and 1 deletions

View File

@ -68,6 +68,18 @@ public class StringUtil {
return values;
}
public static long[][][] parseFiledLong3(String value) {
if ("null".equals(value) || value == null) {
return new long[0][0][0];
}
String[] param = value.split(",");
long[][][] values = new long[param.length][][];
for (int i = 0; i < param.length; i++) {
values[i] = parseFiledLong2(param[i]);
}
return values;
}
public static int[][][] parseFiledInt3(String value) {
if ("null".equals(value) || value == null) {
return new int[0][0][0];

View File

@ -4762,8 +4762,10 @@ public class HeroLogic {
* @param baseItemMap
*/
public void dismantleHeroLevel(Hero hero, Map<Integer, Long> baseItemMap) {
int level = hero.getOriginalLevel();
SHeroLevlConfig config = SHeroLevlConfig.getsHeroLevlConfigMap().get(level);
// 等级折算
long[][] sumConsume = SHeroLevlConfig.getsHeroLevlConfigMap().get(hero.getOriginalLevel()).getSumConsume();
long[][] sumConsume = config.getSumConsume();
for (long[] item : sumConsume) {
baseItemMap.put((int)item[0], baseItemMap.getOrDefault(item[0], 0L) + item[1]);
}

View File

@ -329,6 +329,9 @@ public class STableManager {
case "int":
intField(obj, prarms, i, field, dimension);
break;
case "long":
longField(obj, prarms, i, field, dimension);
break;
case "float":
floatField(obj, prarms, i, field, dimension);
break;
@ -389,6 +392,22 @@ public class STableManager {
}
}
private static <T> void longField(T obj, String[] prarms, int i, Field field, int dimension) throws IllegalAccessException {
switch (dimension) {
case 1:
field.set(obj, StringUtil.parseFiledLong(prarms[i]));
break;
case 2:
field.set(obj, StringUtil.parseFiledLong2(prarms[i]));
break;
case 3:
field.set(obj, StringUtil.parseFiledLong3(prarms[i]));
break;
default:
break;
}
}
/**
*
*/