package utils.managers; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.HashMap; import java.util.Set; import java.util.regex.Pattern; import utils.scene.Sprite; import com.jme.image.Texture; import com.jme.math.Vector2f; import com.jme.renderer.Renderer; import com.jme.util.TextureManager; public class TextureLoader { private HashMap textureInfo = new HashMap(); private Renderer renderer; public TextureLoader(String fileLocation, Renderer ren) { BufferedReader reader = null; Pattern pat = null; final String tokenLoc = ","; String[] split = null; this.renderer = ren; try { reader = new BufferedReader(new FileReader(fileLocation)); String output = reader.readLine(); while(output != null) { pat = Pattern.compile(tokenLoc); split = pat.split(output); textureInfo.put(split[1], split[0]); output = reader.readLine(); } reader.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public Set getTextureNames() { return this.textureInfo.keySet(); } public Sprite getSprite(String name) { if(!textureInfo.containsKey(name)) { return null; } else { String location = textureInfo.get(name); return new Sprite ( TextureManager.loadTexture ( location, Texture.MM_LINEAR_LINEAR, Texture.MM_LINEAR_LINEAR ), renderer.createTextureState(), new Vector2f(0, 0), new Vector2f(1, 1) ); } } }