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

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

Introduction

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

Prototype

public FileHandle resolve(String fileName) 

Source Link

Usage

From source file:com.forerunnergames.peril.client.assets.MultiSourceAssetManager.java

License:Open Source License

@Override
@SuppressWarnings("rawtypes")
public synchronized <T> void load(final String fileName, final Class<T> type,
        @Nullable final AssetLoaderParameters<T> parameters) {
    Arguments.checkIsNotNull(fileName, "fileName");
    Arguments.checkIsNotNull(type, "type");

    for (final com.badlogic.gdx.assets.AssetManager assetManager : libGdxAssetManagers) {
        String resolvedPathDescription = "?";

        try {/* w  w w . ja va 2s .  c  om*/
            final AssetLoader loader = assetManager.getLoader(type);

            if (loader == null)
                continue;

            final FileHandle fileHandle = loader.resolve(fileName);
            final File file = fileHandle.file();

            if (fileHandle.type() == Files.FileType.Internal && !file.exists()) {
                resolvedPathDescription = "classpath:/" + fileHandle.path();
            } else {
                resolvedPathDescription = file.getAbsolutePath();
            }

            log.debug("Queuing asset [{}] for loading as [{}]...", fileName, resolvedPathDescription);

            if (!fileHandle.exists()) {
                log.debug("Failed (file doesn't exist).");
                continue;
            }

            assetManager.load(fileName, type, parameters);
            fileNamesToManagers.put(fileName, assetManager);

            log.debug("Success.");

            return;
        } catch (final GdxRuntimeException e) {
            log.error("Cannot queue asset [{}] for loading as [{}]. Reason:\n\n{}", fileName,
                    resolvedPathDescription, e);
        }
    }

    log.error(Strings.format("Failed to queue asset [{}] for loading.", fileName));
}