Так что я пытаюсь опубликовать на своем веб-сайте api и использовать обратный вызов, когда сообщение заканчивается. Все это прекрасно работает в редакторе Unity и в качестве настольного приложения, но не работает в веб-проигрывателе. Я сузил его до того, что callback фактически не вызвал. Как я могу использовать обратные вызовы? Вот мой код:Обратный звонок никогда не запускается в Unity Web Player
void ui_login() {
if (uiBase == null)
return;
Debug.LogError(uiBase); clicks++; status = "(" + clicks + ")" + "working";
var username = uiBase.UIElements.FirstOrDefault(e => e.Name == "txt_username");
var password = uiBase.UIElements.FirstOrDefault(e => e.Name == "txt_password");
try
{
var request = new LoginRequest()
{
Email = username.Text,
Password = password.Text
};
StartCoroutine(WaitForRequest<LoginResponse>(request, loginCallback));
}
catch (Exception e)
{
status = "(" + clicks + ")" + e;
}
}
void loginCallback(LoginResponse response, WWW www)
{
if (www.error != null)
status = www.error;
if (response != null)
status = response.ErrorMessage;
}
IEnumerator WaitForRequest<TResponse>(
LoginRequest request, Action<TResponse, WWW> callback)
{
var json = JsonMapper.ToJson(request);
var www = new WWW("http://someurl.com", json.ToBytes());
yield return www;
TResponse response;
if (www.error == null && www.isDone)
{
var str = Encoding.UTF8.GetString(www.bytes);
print(str);
status = str;
response = JsonConvert.DeserializeObject<TResponse>(str);
}
else
response = default(TResponse);
print("somthif");
callback(response, www);
}