Bitvector helper method added.
This commit is contained in:
@@ -34,6 +34,20 @@ import java.util.concurrent.ThreadLocalRandom;
|
||||
|
||||
public class Enum {
|
||||
|
||||
public static <E extends java.lang.Enum<E>> EnumSet<E> fromLong(long bitVector, Class<E> enumClass) {
|
||||
|
||||
// Bitvector -> EnumSet without the EnumBitvector dependency
|
||||
|
||||
EnumSet<E> enumSet = EnumSet.noneOf(enumClass);
|
||||
|
||||
for (E enumValue : enumClass.getEnumConstants()) {
|
||||
if ((bitVector & (1L << enumValue.ordinal())) != 0) {
|
||||
enumSet.add(enumValue);
|
||||
}
|
||||
}
|
||||
return enumSet;
|
||||
}
|
||||
|
||||
public enum PetitionType {
|
||||
NONE,
|
||||
GENERAL,
|
||||
|
||||
@@ -129,6 +129,8 @@ public class ItemTemplate {
|
||||
public final HashMap<String, int[]> rune_skill_adj = new HashMap<>();
|
||||
public final EnumSet<Enum.MonsterType> rune_enemy_monster_types = EnumSet.noneOf(Enum.MonsterType.class);
|
||||
public final EnumSet<Enum.MonsterType> rune_not_enemy_monster_types = EnumSet.noneOf(Enum.MonsterType.class);
|
||||
public final EnumSet<Enum.MonsterType> rune_groupee_monster_types = EnumSet.noneOf(Enum.MonsterType.class);
|
||||
public final EnumSet<Enum.MonsterType> rune_helper_monster_types = EnumSet.noneOf(Enum.MonsterType.class);
|
||||
|
||||
public ItemTemplate(JSONObject jsonObject) {
|
||||
|
||||
@@ -511,6 +513,12 @@ public class ItemTemplate {
|
||||
rune_not_enemy_monster_types.add(monsterType);
|
||||
}
|
||||
|
||||
long rune_groupee_bitvector = ((Long) jsonObject.get("rune_groupee_monster_types")).intValue();
|
||||
rune_groupee_monster_types.addAll(Enum.fromLong(rune_groupee_bitvector, Enum.MonsterType.class));
|
||||
|
||||
long rune_helper_bitvector = ((Long) jsonObject.get("rune_helper_monster_types")).intValue();
|
||||
rune_helper_monster_types.addAll(Enum.fromLong(rune_helper_bitvector, Enum.MonsterType.class));
|
||||
|
||||
rune_renderable = ((Boolean) jsonObject.get("rune_renderable"));
|
||||
rune_natural_power_attack = ((Long) jsonObject.get("rune_natural_power_attack")).intValue();
|
||||
|
||||
|
||||
@@ -35,4 +35,5 @@ public class MiscUtils {
|
||||
// empty last names are fine, return false
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user