Add vararg call() method to C++ Callable

This commit is contained in:
kobewi 2023-07-11 16:18:10 +02:00
parent c7ed5d795e
commit 09b30be86d
27 changed files with 96 additions and 332 deletions

View file

@ -256,15 +256,12 @@ void JavaScriptObjectImpl::_callback(void *p_ref, int p_args_id, int p_argc) {
int type = godot_js_wrapper_object_getvar(p_args_id, Variant::INT, &exchange);
arg_arr.push_back(_js2variant(type, &exchange));
}
Variant arg = arg_arr;
const Variant *argv[1] = { &arg };
Callable::CallError err;
Variant ret;
obj->_callable.callp(argv, 1, ret, err);
obj->_callable.call(arg_arr);
// Set return value
godot_js_wrapper_ex exchange;
void *lock = nullptr;
Variant ret;
const Variant *v = &ret;
int type = _variant2js((const void **)&v, 0, &exchange, &lock);
godot_js_wrapper_object_set_cb_ret(type, &exchange);