Example usage for com.badlogic.gdx.assets.loaders FileHandleResolver resolve

List of usage examples for com.badlogic.gdx.assets.loaders FileHandleResolver resolve

Introduction

In this page you can find the example usage for com.badlogic.gdx.assets.loaders FileHandleResolver resolve.

Prototype

public FileHandle resolve(String fileName);

Source Link

Usage

From source file:com.bladecoder.engine.assets.EngineAssetManager.java

License:Apache License

public String[] listAssetFiles(String base) {
    FileHandleResolver resolver = resResolver.getBaseResolver();

    String list[];//from   w  w w  . j  a  v  a 2  s .c o  m

    URL u = EngineAssetManager.class.getResource(base);

    if (u != null && u.getProtocol().equals("jar")) {
        list = getFilesFromJar(base);

    } else {
        String n = base.substring(1);
        if (u != null)
            n = u.getFile();

        FileHandle f = null;

        try {
            f = resolver.resolve(URLDecoder.decode(n, "UTF-8"));
        } catch (UnsupportedEncodingException e) {
            EngineLogger.error("Error decoding URL", e);
            return new String[0];
        }

        FileHandle[] l = f.list();
        list = new String[l.length];

        for (int i = 0; i < l.length; i++)
            list[i] = l[i].name();

    }

    return list;
}

From source file:org.bladecoder.bladeengine.assets.EngineAssetManager.java

License:Apache License

private Resolution[] getResolutions(FileHandleResolver resolver) {
    ArrayList<Resolution> rl = new ArrayList<Resolution>();

    String n = "atlases";

    URL u = EngineAssetManager.class.getResource("/atlases");

    if (u != null && u.getProtocol().equals("jar")) {
        String list[] = getResolutionsFromJar();

        for (String name : list) {
            if (name.contains("_")) {
                Resolution r = parseResolution(name);

                if (r != null)
                    rl.add(r);/*  ww w . j  a va 2  s  .  c o  m*/
            }
        }

    } else {
        if (u != null)
            n = u.getFile();

        FileHandle f = null;

        try {
            f = resolver.resolve(URLDecoder.decode(n, "UTF-8"));
        } catch (UnsupportedEncodingException e) {
            EngineLogger.error("Error decoding URL", e);
            return rl.toArray(new Resolution[rl.size()]);
        }

        FileHandle[] list = f.list();

        for (FileHandle h : list) {
            String name = h.name();

            if (h.isDirectory() && name.contains("_")) {
                Resolution r = parseResolution(name);

                if (r != null)
                    rl.add(r);
            }
        }
    }

    Collections.sort(rl, new Comparator<Resolution>() {
        public int compare(Resolution a, Resolution b) {
            return a.portraitWidth - b.portraitWidth;
        }
    });

    return rl.toArray(new Resolution[rl.size()]);
}

From source file:util.Utils.java

public static void setTilesFromTMX(BaseMap map, Maps id, String tmxFile, TileSet ts) {

    Tile[] tiles = new Tile[map.getWidth() * map.getHeight()];

    FileHandleResolver resolver = new Constants.ClasspathResolver();
    TmxMapLoader loader = new TmxMapLoader(resolver);
    TiledMap tm = loader.load("assets/tmx/" + tmxFile);

    TiledMapTileLayer ml = (TiledMapTileLayer) tm.getLayers().get(map.getId() + "-map");
    if (ml != null) {
        FileHandle f = resolver.resolve("assets/graphics/latest-atlas.txt");
        TextureAtlas.TextureAtlasData atlas = new TextureAtlas.TextureAtlasData(f, f.parent(), false);
        int png_grid_width = 24;
        Tile[] mapTileIds = new Tile[png_grid_width * Constants.tilePixelWidth + 1];
        for (TextureAtlas.TextureAtlasData.Region r : atlas.getRegions()) {
            int x = r.left / r.width;
            int y = r.top / r.height;
            int i = x + (y * png_grid_width) + 1;
            mapTileIds[i] = ts.getTileByName(r.name);
            if (mapTileIds[i] == null) {
                //System.out.printf("no tile found: %s %d\n",r.name,i);
            }//from   w w w.  java  2s.com
        }

        for (int y = 0; y < map.getHeight(); y++) {
            for (int x = 0; x < map.getWidth(); x++) {
                StaticTiledMapTile tr = (StaticTiledMapTile) ml.getCell(x, map.getWidth() - 1 - y).getTile();
                Tile tile = mapTileIds[tr.getId()];
                if (tile == null) {
                    System.out.printf("no tile found: %d %d %d\n", x, y, tr.getId());
                }
                tiles[x + (y * map.getWidth())] = tile;
            }
        }
    }

    map.setTiles(tiles);

    MapLayer objectsLayer = tm.getLayers().get("portals");
    if (objectsLayer != null) {
        Iterator<MapObject> iter = objectsLayer.getObjects().iterator();
        while (iter.hasNext()) {
            MapObject obj = iter.next();
            Portal p = map.getPortal(Maps.valueOf(obj.getName()).getId());
            Iterator<String> keys = obj.getProperties().getKeys();
            while (keys.hasNext()) {
                String key = keys.next();
                String value = obj.getProperties().get(key).toString();
                if (key.equals("x")) {
                    p.setX(new Integer(value));
                } else if (key.equals("y")) {
                    p.setY(new Integer(value));
                }
            }
        }
    }

    objectsLayer = tm.getLayers().get("moongates");
    if (objectsLayer != null) {
        Iterator<MapObject> iter = objectsLayer.getObjects().iterator();
        while (iter.hasNext()) {
            MapObject obj = iter.next();
            Moongate m = map.getMoongate(obj.getName());
            Iterator<String> keys = obj.getProperties().getKeys();
            while (keys.hasNext()) {
                String key = keys.next();
                String value = obj.getProperties().get(key).toString();
                if (key.equals("x")) {
                    m.setX(new Integer(value));
                } else if (key.equals("y")) {
                    m.setY(new Integer(value));
                }
            }
        }
    }

}