diff options
| author | Juan Linietsky | 2014-02-13 18:03:28 -0300 |
|---|---|---|
| committer | Juan Linietsky | 2014-02-13 18:03:28 -0300 |
| commit | 58cda02a389759d18176216c06f375d364cefef1 (patch) | |
| tree | 4102902585d12ea6807ceaee1370136d29b601e1 /platform/android/java_glue.cpp | |
| parent | 1adc330b68b1f6ca18aac05daf88c7d4d757fd0a (diff) | |
| download | godot-58cda02a389759d18176216c06f375d364cefef1.tar.gz godot-58cda02a389759d18176216c06f375d364cefef1.tar.zst godot-58cda02a389759d18176216c06f375d364cefef1.zip | |
Diffstat (limited to 'platform/android/java_glue.cpp')
| -rw-r--r-- | platform/android/java_glue.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/platform/android/java_glue.cpp b/platform/android/java_glue.cpp index 9c5003cb1..cbe17f2f7 100644 --- a/platform/android/java_glue.cpp +++ b/platform/android/java_glue.cpp @@ -1146,6 +1146,26 @@ JNIEXPORT void JNICALL Java_com_android_godot_GodotLib_callobject(JNIEnv * env, // something }; +JNIEXPORT void JNICALL Java_com_android_godot_GodotLib_calldeferred(JNIEnv * env, jobject p_obj, jint ID, jstring method, jobjectArray params) { + + String str_method = env->GetStringUTFChars( method, NULL ); + + Object* obj = ObjectDB::get_instance(ID); + ERR_FAIL_COND(!obj); + + int count = env->GetArrayLength(params); + Variant args[VARIANT_ARG_MAX]; + + for (int i=0; i<MIN(count,VARIANT_ARG_MAX); i++) { + + jobject obj = env->GetObjectArrayElement(params, i); + args[i] = _jobject_to_variant(env, obj); + }; + + + obj->call_deferred(str_method, args[0],args[1],args[2],args[3],args[4]); + // something +}; //Main::cleanup(); |
