59 lines
1.6 KiB
Java
59 lines
1.6 KiB
Java
package com.hypixel.hytale.assetstore;
|
|
|
|
import com.hypixel.hytale.assetstore.map.JsonAssetWithMap;
|
|
import java.nio.file.Path;
|
|
import java.util.Map;
|
|
import java.util.Set;
|
|
|
|
public class AssetLoadResult<K, T> {
|
|
private final Map<K, T> loadedAssets;
|
|
private final Map<K, Path> loadedKeyToPathMap;
|
|
private final Set<K> failedToLoadKeys;
|
|
private final Set<Path> failedToLoadPaths;
|
|
private final Map<Class<? extends JsonAssetWithMap>, AssetLoadResult> childAssetResults;
|
|
|
|
public AssetLoadResult(
|
|
Map<K, T> loadedAssets,
|
|
Map<K, Path> loadedKeyToPathMap,
|
|
Set<K> failedToLoadKeys,
|
|
Set<Path> failedToLoadPaths,
|
|
Map<Class<? extends JsonAssetWithMap>, AssetLoadResult> childAssetResults
|
|
) {
|
|
this.loadedAssets = loadedAssets;
|
|
this.loadedKeyToPathMap = loadedKeyToPathMap;
|
|
this.failedToLoadKeys = failedToLoadKeys;
|
|
this.failedToLoadPaths = failedToLoadPaths;
|
|
this.childAssetResults = childAssetResults;
|
|
}
|
|
|
|
public Map<K, T> getLoadedAssets() {
|
|
return this.loadedAssets;
|
|
}
|
|
|
|
public Map<K, Path> getLoadedKeyToPathMap() {
|
|
return this.loadedKeyToPathMap;
|
|
}
|
|
|
|
public Set<K> getFailedToLoadKeys() {
|
|
return this.failedToLoadKeys;
|
|
}
|
|
|
|
public Set<Path> getFailedToLoadPaths() {
|
|
return this.failedToLoadPaths;
|
|
}
|
|
|
|
public boolean hasFailed() {
|
|
if (this.failedToLoadKeys.isEmpty() && this.failedToLoadPaths.isEmpty()) {
|
|
for (AssetLoadResult result : this.childAssetResults.values()) {
|
|
if (result.hasFailed()) {
|
|
return true;
|
|
}
|
|
}
|
|
|
|
return false;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
}
|