Example #1
0
        public static void SetPushJSFunctionArgumentsCallback(IntPtr isolate, PushJSFunctionArgumentsCallback callback, int jsEnvIdx)
        {
#if PUERTS_GENERAL || (UNITY_WSA && !UNITY_EDITOR)
            GCHandle.Alloc(callback);
#endif
            IntPtr fn = callback == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(callback);
            SetPushJSFunctionArgumentsCallback(isolate, fn, jsEnvIdx);
        }
Example #2
0
        public static IntPtr InvokeJSFunction(JsEnv jsEnv, IntPtr nativeJsFuncPtr, int argumentsLength, bool hasResult, PushJSFunctionArgumentsCallback argumentsPusher)
        {
            jsEnv.ArgumentsPusher = argumentsPusher;
            IntPtr resultInfo = PuertsDLL.InvokeJSFunction(nativeJsFuncPtr, argumentsLength, hasResult);

            jsEnv.ArgumentsPusher = null;

            return(resultInfo);
        }