package cz.jzitnik.tui; import java.util.EnumMap; import java.util.HashMap; public class SpriteList> { private final EnumMap sprites; // Constructor that takes an Enum class and a HashMap public SpriteList(Class enumClass, HashMap 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); } }