Настройка плагина JavaScript
Вы можете вызывать функции из ваших плагинов JavaScript в ваших проектах Unity. Unity поддерживает два типа файлов плагинов JavaScript, которые позволяют добавить код JavaScript в ваш проект Unity:
- .jslib
- .jspre
Примечание: Unity в настоящее время поддерживает ECMAScript 5 (ES5) синтаксис в .jslib и .jspre файлы. ES6 синтаксис пока не поддерживается.
Если вы хотите вызывать функции из плагинов C++, обратитесь к Вызов функций C/C++/C# из скриптов Unity C#.
Импорт файлов JavaScript в проект Unity
Рекомендуемый способ использования браузера JavaScript в вашем проекте заключается в добавлении источников JavaScript (файлов .jspre и .jslib) в ваш проект, а затем использовании этих функций или библиотек непосредственно в коде вашего скрипта Unity C#.
Поместите файлы плагина JavaScript в любую папку, например, Assets/JSPlugins.
Вызов функций из файла типа .jslib
Вы можете вызывать функции из ваших файлов плагинов .jslib в Unity C# или в собственных скриптах.
Файлы .jslib используют модуль Emscripten --js-library. Дополнительные сведения см. в документации Emscripten о параметре Emscripten –js-library.
Следующий код показывает пример файла плагина .jslib с идеальным синтаксисом, который определяет некоторые функции (Hello и HelloString).
mergeInto(LibraryManager.library, {
Hello: function () {
window.alert("Hello, world!");
},
HelloString: function (str) {
window.alert(UTF8ToString(str));
},
});
Затем вы можете вызвать эти функции в коде Unity C#:
using UnityEngine;
using System.Runtime.InteropServices;
public class NewBehaviourScript : MonoBehaviour {
[DllImport("__Internal")]
private static extern void Hello();
[DllImport("__Internal")]
private static extern void HelloString(string str);
void Start() {
Hello();
HelloString("This is a string.");
}
}
Полный пример взаимодействия между функциями Unity, C# и JavaScript см. в Примеры кода: Вызов функций JavaScript и C/C++/C# в Unity.
Более подробную информацию о взаимодействии между Unity C# и JavaScript см. в Вызов функций JavaScript из скриптов Unity C#.
Включить библиотеки JavaScript с типом файла .jspre
Используйте тип файла плагина .jspre, чтобы включить существующие библиотеки JavaScript в код JavaScript. Вы не можете использовать код Unity для взаимодействия с файлами .jspre, но можете использовать их в коде .jslib.
Тип файла .jspre использует опцию --pre-js Emscripten. Дополнительные сведения см. в документации Emscripten об опции –pre-js Emscripten.
Во время процесса сборки Emscripten создает файл *.framework.js и копирует содержимое файла .jspre в начало файла *.framework.js. Этот процесс полезен, потому что весь код объединяется в один файл, что облегчает управление файлами, а код получает выгоды от оптимизации Emscripten.