35 private static final Logger logger = LogManager.getLogger(
LMSLoadoutManager.class);
37 private static List<LMSLoadout> lmsLoadouts =
new ArrayList<LMSLoadout>();
39 public static List<LMSLoadout> getLmsLoadouts() {
43 public static void load() {
44 try (
final ScanResult scanResult =
new ClassGraph().enableClassInfo().enableMethodInfo().scan()) {
45 for (
final ClassInfo classInfo : scanResult.getSubclasses(
LMSLoadout.class)) {
47 if (!classInfo.isAbstract()) {
48 final MethodInfoList constructorInfos = classInfo.getDeclaredConstructorInfo();
49 final MethodInfo constructorInfo = constructorInfos.get(0);
50 final Constructor<?> constructor = constructorInfo.loadClassAndGetConstructor();
52 final Object instance = constructor.newInstance();
56 lmsLoadouts.add(loadout);
58 }
catch (Exception ex) {
59 logger.error(String.format(
"Error loading lms loadout=%s", classInfo.getSimpleName()), ex);
63 logger.info(String.format(
"Loaded: %d lms loadouts.", lmsLoadouts.size()));
static LMSLoadout currentGameType