У меня есть проект Unity WebGL, который пытается выполнить код javascript в браузере и вернуть значение.
У меня в папке Assets / Plugins / WebGL есть следующий .jslib
файл:
var BrowserPlugin = {
GetEndpointURL: function()
{
var endpoint = window.itd.getEndpointUrl();
console.log("endpoint: " + endpoint);
return endpoint;
}
};
mergeInto(LibraryManager.library, BrowserPlugin);
В моем коде C # в единстве я импортирую dll и вызываю свой метод javascript следующим образом:
[DllImport("__Internal")]
private static extern string GetEndpointURL();
string endpointURL = GetEndpointURL();
Проблема в том, что в моем коде C # переменная endpointUrl
всегда равна нулю. Однако в консоли моего браузера я четко вижу, что правильное значение регистрируется в javascript браузера, прежде чем я его верну. Что заставляет это значение возвращаться к единице как null?