twodcraft/src/main/java/cz/jzitnik/tui/SpriteList.java
2025-02-17 22:16:35 +01:00

34 lines
982 B
Java

package cz.jzitnik.tui;
import java.util.EnumMap;
import java.util.HashMap;
public class SpriteList<E extends Enum<E>> {
private final EnumMap<E, Sprite> sprites;
// Constructor that takes an Enum class and a HashMap
public SpriteList(Class<E> enumClass, HashMap<E, Sprite> initialMap) {
sprites = new EnumMap<>(enumClass);
// Initialize with values from the provided HashMap
for (E key : enumClass.getEnumConstants()) {
if (!initialMap.containsKey(key)) {
throw new RuntimeException("TODO: Missing sprite");
}
Sprite value = initialMap.get(key);
sprites.put(key, value);
}
}
public Sprite getSprite(E key) {
return sprites.get(key);
}
public void setSprite(E key, Sprite value) {
if (!sprites.containsKey(key)) {
throw new IllegalArgumentException("Invalid key: " + key);
}
sprites.put(key, value);
}
}