2016-12-23 3 views
0

Как я могу загрузить и вернуть файл из другого метода (используйте WWW)? я хочу сделать следующий:Подождите, пока загрузка файла в Unity

  1. Метод GetSettings(). Текст файла загрузки, parse json и результат возврата.
  2. Метод вызова от Старт() и ждать пока GetSettings() результат возврата.

Как я могу это сделать?

+0

Что вы хотите сказать? – Programmer

+0

Я хочу получить содержимое файла как статический метод. Как сделать такой метод? – Vostrugin

ответ

1

Похоже, что вы хотите загрузить данные, затем подождите, а затем подождите, пока загрузка закончится, а затем загрузите другие данные. Если это так, вы можете использовать код ниже, который будет загружать данные 2 раза. Вы можете увеличить количество раз, увеличив значение REQ_AMOUNT.

Он использует yield return StartCoroutine, чтобы ожидать возврата текущей функции сопроцессора до запуска снова.

IEnumerator Start() 
{ 

    int REQ_AMOUNT = 2; 

    for (int i = 0; i < REQ_AMOUNT; i++) 
    { 
     yield return StartCoroutine(GetSettings()); 
    } 
} 

IEnumerator GetSettings() 
{ 
    string url = RoomSettings.AbsoluteFilenamePath; 

    if (Application.isEditor) 
    { 
     url = "file:///" + url; 
    } 

    var www = new WWW(url); 
    yield return www; 
    // Do some code, when file loaded 
} 
+0

'return return StartCoroutine (GetSettings()); Debug.log ("хорошо");» Вызов Debug.Log() после загрузки файла в GetSettings()? – Vostrugin

+0

GetSettings() будет вызываться снова после его завершения. – Programmer

Смежные вопросы