mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-05-08 04:55:52 +08:00
68 lines
1.4 KiB
Java
68 lines
1.4 KiB
Java
package emu.grasscutter.data.excels;
|
|
|
|
import java.util.List;
|
|
|
|
import emu.grasscutter.data.GameResource;
|
|
import emu.grasscutter.data.ResourceType;
|
|
import emu.grasscutter.game.props.FightProperty;
|
|
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
|
|
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
|
|
|
|
@ResourceType(name = "ReliquaryLevelExcelConfigData.json")
|
|
public class ReliquaryLevelData extends GameResource {
|
|
private int id;
|
|
private Int2ObjectMap<Float> propMap;
|
|
|
|
private int rank;
|
|
private int level;
|
|
private int exp;
|
|
private List<RelicLevelProperty> addProps;
|
|
|
|
@Override
|
|
public int getId() {
|
|
return this.id;
|
|
}
|
|
|
|
public int getRank() {
|
|
return rank;
|
|
}
|
|
|
|
public int getLevel() {
|
|
return level;
|
|
}
|
|
|
|
public int getExp() {
|
|
return exp;
|
|
}
|
|
|
|
public float getPropValue(FightProperty prop) {
|
|
return getPropValue(prop.getId());
|
|
}
|
|
|
|
public float getPropValue(int id) {
|
|
return propMap.get(id);
|
|
}
|
|
|
|
@Override
|
|
public void onLoad() {
|
|
this.id = (rank << 8) + this.getLevel();
|
|
this.propMap = new Int2ObjectOpenHashMap<>();
|
|
for (RelicLevelProperty p : addProps) {
|
|
this.propMap.put(FightProperty.getPropByName(p.getPropType()).getId(), (Float) p.getValue());
|
|
}
|
|
}
|
|
|
|
public class RelicLevelProperty {
|
|
private String propType;
|
|
private float value;
|
|
|
|
public String getPropType() {
|
|
return propType;
|
|
}
|
|
|
|
public float getValue() {
|
|
return value;
|
|
}
|
|
}
|
|
}
|