mirror of
https://github.com/Anuken/Mindustry.git
synced 2026-03-04 13:02:37 -08:00
57 lines
1.6 KiB
Java
57 lines
1.6 KiB
Java
package mindustry.maps;
|
|
|
|
import arc.assets.*;
|
|
import arc.assets.loaders.*;
|
|
import arc.assets.loaders.resolvers.*;
|
|
import arc.files.*;
|
|
import arc.graphics.*;
|
|
import arc.struct.*;
|
|
import arc.util.*;
|
|
import mindustry.*;
|
|
import mindustry.ctype.*;
|
|
|
|
public class MapPreviewLoader extends TextureLoader{
|
|
|
|
public MapPreviewLoader(){
|
|
super(new AbsoluteFileHandleResolver());
|
|
}
|
|
|
|
@Override
|
|
public void loadAsync(AssetManager manager, String fileName, Fi file, TextureParameter parameter){
|
|
try{
|
|
super.loadAsync(manager, fileName, file.sibling(file.nameWithoutExtension()), parameter);
|
|
}catch(Exception e){
|
|
Log.err(e);
|
|
MapPreviewParameter param = (MapPreviewParameter)parameter;
|
|
Vars.maps.queueNewPreview(param.map);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public Texture loadSync(AssetManager manager, String fileName, Fi file, TextureParameter parameter){
|
|
try{
|
|
return super.loadSync(manager, fileName, file, parameter);
|
|
}catch(Throwable e){
|
|
Log.err(e);
|
|
try{
|
|
return new Texture(file);
|
|
}catch(Throwable e2){
|
|
Log.err(e2);
|
|
return new Texture("sprites/error.png");
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public Seq<AssetDescriptor> getDependencies(String fileName, Fi file, TextureParameter parameter){
|
|
return Seq.with(new AssetDescriptor<>("contentcreate", Content.class));
|
|
}
|
|
|
|
public static class MapPreviewParameter extends TextureParameter{
|
|
public Map map;
|
|
|
|
public MapPreviewParameter(Map map){
|
|
this.map = map;
|
|
}
|
|
}
|
|
}
|