Mindustry/core/src/mindustry/maps/MapPreviewLoader.java
2020-10-02 19:51:30 -04:00

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;
}
}
}