Следуя инструкции: https://docs.unity3d.com/Manual/webgl-interactingwithbrowserscripting.html Я создал плагин, который запускает JavaScript на странице из Unity.
Это код плагина (Assets / Plugins / pluginname.jslib):
mergeInto(LibraryManager.library, {
Hello: function () {
window.alert("Hello, world!");
},
HelloReturn: function () {
return "Hello, world!";
}
}
и пример импорта:
using System.Runtime.InteropServices;
public class NewBehaviourScript : MonoBehaviour {
[DllImport("__Internal")]
private static extern void Hello();
[DllImport("__Internal")]
private static extern string HelloReturn();
void Start() {
Hello();
Debug.log(HelloReturn());
}
}
Однако у меня возникли проблемы с возвратом строки из функции extern. Я печатаю значение до возврата, и оно действительно, но после возврата кажется, что строка пуста. Как мне решить эту проблему?