package speiger.src.coreengine.assets.impl; import java.io.File; import java.io.FileFilter; import java.util.ArrayList; import java.util.List; import speiger.src.coreengine.assets.AssetLocation; import speiger.src.coreengine.assets.IAsset; import speiger.src.coreengine.assets.IAssetPackage; public class FolderAssetPackage implements IAssetPackage { static final FileFilter FOLDER_FILTER = new FileFilter(){ @Override public boolean accept(File f) { return f.isDirectory(); } }; File file; public FolderAssetPackage(File file) { this.file = file; } @Override public List getDomains() { List result = new ArrayList(); File asset = new File(file, "assets/"); for(File file : asset.listFiles(FOLDER_FILTER)) { result.add(file.getAbsolutePath().substring(asset.getAbsolutePath().length() + 1).replace("\\", "/").replace("\"", "/")); } return result; } @Override public IAsset getAsset(AssetLocation location) { File asset = new File(file, location.getActualLocation()); return asset.isFile() ? new FileAsset(asset, location) : null; } }