48 lines
1.1 KiB
Java
48 lines
1.1 KiB
Java
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<String> getDomains()
|
|
{
|
|
List<String> result = new ArrayList<String>();
|
|
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;
|
|
}
|
|
|
|
}
|