diff --git a/core/src/uk/ac/york/student/screens/Screens.java b/core/src/uk/ac/york/student/screens/Screens.java index 5d08dfa..fa699c2 100644 --- a/core/src/uk/ac/york/student/screens/Screens.java +++ b/core/src/uk/ac/york/student/screens/Screens.java @@ -1,16 +1,11 @@ package uk.ac.york.student.screens; import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.Screen; -import lombok.Getter; import lombok.experimental.UtilityClass; +import org.jetbrains.annotations.Nullable; import java.lang.reflect.Field; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; -@Getter @UtilityClass /** * A utility class to store the classes of the different screens loaded with reflection. @@ -40,4 +35,18 @@ public final class Screens { } } } + + public static @Nullable Class valueOf(String name) { + Field[] fields = Screens.class.getFields(); + for (Field field : fields) { + if (field.getName().equals(name)) { + try { + return (Class) field.get(null); + } catch (IllegalAccessException e) { + Gdx.app.error("Screens", "Could not access field " + name); + } + } + } + return null; + } }