
com.github.czyzby.kiwi.util.gdx.asset.AbstractInternalAsset Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gdx-kiwi Show documentation
Show all versions of gdx-kiwi Show documentation
Guava-inspired set of utilities for LibGDX.
package com.github.czyzby.kiwi.util.gdx.asset;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.assets.AssetManager;
import com.badlogic.gdx.files.FileHandle;
/** Although Assets are advised to be kept in enums (which cannot extend, since they already do), a sample
* implementation is provided. It can be copied to the enum implementing the asset interface.
*
* @author MJ */
public class AbstractInternalAsset implements Asset {
private final String path;
private final Class> assetClass;
private final AssetType assetType;
public AbstractInternalAsset(final String path, final Class> assetClass, final AssetType assetType) {
this.path = path;
this.assetClass = assetClass;
this.assetType = assetType;
}
@Override
public String getPath() {
return path;
}
@Override
public Class> getAssetClass() {
return assetClass;
}
@Override
public AssetType getAssetType() {
return assetType;
}
@Override
public FileHandle getFileHandle() {
return Gdx.files.internal(path);
}
@Override
public void load(final AssetManager withManager) {
withManager.load(path, assetClass);
}
@Override
public Object get(final AssetManager fromManager) {
return fromManager.get(path);
}
@Override
public Type get(final Class withType, final AssetManager fromManager) {
return fromManager.get(path, withType);
}
@Override
public boolean equals(final Object object) {
return object == this || object instanceof Asset && ((Asset) object).getPath().equals(path);
}
@Override
public int hashCode() {
return path.hashCode();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy