forked from jzitnik/twodcraft
34 lines
982 B
Java
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);
|
|
}
|
|
}
|