Я использую поддержку WebGL в Unity3D и пытаюсь вызвать библиотеку JavaScript из моего кода для выполнения некоторых вычислений. Тип возвращаемого значения функции, которую я пытаюсь вызвать - это объект JavaScript. Документация Unity предоставляет информацию о том, как вызывать функции из JavaScript и возвращать примитивные значения:
[DllImport("__Internal")]
private static extern string StringReturnValueFunction();
Таким образом, в настоящее время я использую это для преобразования объекта в JSON, передачи его в Unity и последующей десериализации. Как вы можете себе представить, у этого подхода есть некоторые проблемы с производительностью.
Что я действительно хочу сделать, так это напрямую вернуть объект JavaScript и получить к нему доступ из C #:
[DllImport("__Internal")]
private static extern MyStruct StructReturnValueFunction();
Есть ли какой-нибудь эффективный способ сопоставить объект JavaScript, чтобы к нему можно было обращаться из управляемого C # на стороне emscripten?