package com.cookbook.assetmanager;
import com.badlogic.gdx.assets.AssetLoaderParameters;
import com.badlogic.gdx.utils.Json;
import com.badlogic.gdx.utils.JsonValue;
import com.badlogic.gdx.utils.reflect.ClassReflection;
public class Asset implements Json.Serializable {
public Class<?> type;
public String path;
public AssetLoaderParameters parameters;
@Override
public void write(Json json) {
json.writeValue("assetType", type.getName());
json.writeValue("path", path);
json.writeValue("parameters", parameters);
}
@Override
public void read(Json json, JsonValue jsonData) {
try {
type = ClassReflection.forName(jsonData.get("type").asString());
} catch (Exception e) {
type = null;
}
path = jsonData.get("path").asString();
JsonValue parametersValue = jsonData.get("parameters");
parameters = parametersValue != null ? json.fromJson(AssetLoaderParameters.class, parametersValue.toString()) : null;
}
}