Отображение диалогового окна Javascript в браузере из Unity C # приводит к отключению и аварийному завершению работы сети с фотонами.
Для запуска моей игры в Unity WebGL в браузере пользователю требуется PAST для получения некоторой информации.
Браузер не позволяет Unity получать доступ к прошлому буферу непосредственно из Unity, поэтому я написал некоторый код JavaScript для отображения диалогового окна PROMPT, чтобы пользователь мог вставить информацию.Этот код JavaScript вызывается из кода Unity C #.
Проблема в том, что моя игра также использует фотонные сети, которым постоянно требуется пинговать сервер.Когда мой код C # вызывает код JavaScript и отображается диалоговое окно, механизм единства останавливается в течение времени, в течение которого отображается диалоговое окно PROMPT JavaScript, это замораживание предотвращает проверку связи с сервером с помощью фотона, поэтому, если пользователю требуется болеенесколько секунд, чтобы вставить и закрыть диалоговое окно, время ожидания фотона и отключение, поскольку он не может пропинговать сервер, и игра вылетает.
Кто-нибудь знает, почему Unity зависает, когда javascript показывает диалоговое окно?есть ли вокруг?
вот мой код JavaScript
function DoJavaScriptPaste()
{
var retVal = prompt("Paste Here", "Paste Here");
if (retVal==null) {
retVal="";
}
var buffer = _malloc(lengthBytesUTF8(retVal) + 1);
writeStringToMemory(retVal, buffer);
return buffer;
};
Unity вызывает такой код Javascript из C #
[DllImport("__Internal")]
private static extern string DoJavaScriptPaste();
public void DoPaste()
{
string pastedInfo=DoJavaScriptPaste();
text.text = pastedInfo;
}
Я даже пытался вызвать DoPaste изсопрограмма C #, но Unity Engine по-прежнему зависает ...