Search in sources :

Example 1 with Uri

use of org.terasology.engine.Uri in project Terasology by MovingBlocks.

the class TranslationSystemImpl method refresh.

@Override
public void refresh() {
    Set<ResourceUrn> urns = assetManager.getAvailableAssets(Translation.class);
    for (ResourceUrn urn : urns) {
        Optional<Translation> asset = assetManager.getAsset(urn, Translation.class);
        if (asset.isPresent()) {
            Translation trans = asset.get();
            Uri uri = trans.getProjectUri();
            if (uri.isValid()) {
                TranslationProject proj = projects.computeIfAbsent(uri, e -> new StandardTranslationProject());
                proj.add(trans);
                trans.subscribe(this::onAssetChanged);
                logger.info("Discovered " + trans);
            } else {
                logger.warn("Ignoring invalid project uri: {}", uri);
            }
        }
    }
}
Also used : Translation(org.terasology.i18n.assets.Translation) ResourceUrn(org.terasology.assets.ResourceUrn) Uri(org.terasology.engine.Uri) SimpleUri(org.terasology.engine.SimpleUri)

Example 2 with Uri

use of org.terasology.engine.Uri in project Terasology by MovingBlocks.

the class TranslationSystemImpl method onAssetChanged.

private void onAssetChanged(Translation trans) {
    Uri uri = trans.getProjectUri();
    TranslationProject project = projects.get(uri);
    if (trans.isDisposed()) {
        project.remove(trans);
    }
    for (Consumer<TranslationProject> listener : changeListeners) {
        listener.accept(project);
    }
}
Also used : Uri(org.terasology.engine.Uri) SimpleUri(org.terasology.engine.SimpleUri)

Aggregations

SimpleUri (org.terasology.engine.SimpleUri)2 Uri (org.terasology.engine.Uri)2 ResourceUrn (org.terasology.assets.ResourceUrn)1 Translation (org.terasology.i18n.assets.Translation)1