gltfio JNI: fix broken getName() method.

This commit is contained in:
Philip Rideout
2020-02-07 15:18:21 -08:00
parent cabd9be5f0
commit 415aeef95b
5 changed files with 19 additions and 5 deletions

View File

@@ -19,6 +19,7 @@
#include <filament/Engine.h>
#include <utils/EntityManager.h>
#include <utils/NameComponentManager.h>
#include <gltfio/AssetLoader.h>
#include <gltfio/MaterialProvider.h>
@@ -38,14 +39,17 @@ Java_com_google_android_filament_gltfio_AssetLoader_nCreateAssetLoader(JNIEnv*,
Engine* engine = (Engine*) nativeEngine;
MaterialProvider* materials = (MaterialProvider*) nativeProvider;
EntityManager* entities = (EntityManager*) nativeEntities;
return (jlong) AssetLoader::create({engine, materials, nullptr, entities});
NameComponentManager* names = new NameComponentManager(*entities);
return (jlong) AssetLoader::create({engine, materials, names, entities});
}
extern "C" JNIEXPORT void JNICALL
Java_com_google_android_filament_gltfio_AssetLoader_nDestroyAssetLoader(JNIEnv*, jclass,
jlong nativeLoader) {
AssetLoader* loader = (AssetLoader*) nativeLoader;
NameComponentManager* names = loader->getNames();
AssetLoader::destroy(&loader);
delete names;
}
extern "C" JNIEXPORT jlong JNICALL
@@ -76,7 +80,7 @@ Java_com_google_android_filament_gltfio_AssetLoader_nEnableDiagnostics(JNIEnv*,
extern "C" JNIEXPORT void JNICALL
Java_com_google_android_filament_gltfio_AssetLoader_nDestroyAsset(JNIEnv*, jclass,
jlong nativeLoader, jlong nativeAsset) {
AssetLoader* loader = (AssetLoader*) nativeLoader;
AssetLoader* loader = (AssetLoader*) nativeLoader;
FilamentAsset* asset = (FilamentAsset*) nativeAsset;
loader->destroyAsset(asset);
}