Я хочу открыть OBJ-файл в Unity с помощью C # во время выполнения, когда я нажимаю L. Однако диалоговое окно файла всегда открывается дважды. После того, как я выбрал первый файл, я получаю новый диалог. Какой бы файл я ни выбрал первый и второй раз, оба файла открываются и отображаются.
У меня есть:
void Update ()
{
if (Input.GetKeyDown(KeyCode.L)) {
LoadObj();
//StartCoroutine(ExecuteAfterTime(5));
}
}
IEnumerator ExecuteAfterTime(float time)
{
yield return new WaitForSeconds(time);
}
void LoadObj()
{
string path = EditorUtility.OpenFilePanel("Load scan file", "", "obj");
\\Open the file and display it
}
Я пытался:
- Добавить время (см. Прокомментированный код выше) - не работает
- Добавить логическое значение, которое позволяет выполнять
LoadObj()
только при открытии предыдущего файла - не работает
- Добавлено
EditorUtility.OpenFilePanel()
до или после yield return new WaitForSeconds(time)
- в последнем случае задержка составляет 5 секунд, но она все равно открывается дважды в обоих случаях.
Я искал другие решения, но больше ничего не нашел.
Я работаю на компьютере с Windows и использую Unity 2018. Цель - открыть один файл за раз, но должна быть возможность открыть другой файл, скажем, через несколько минут.
Есть идеи, как предотвратить повторное открытие диалога?