while + foreach подвешивает Unity C#

463
29 декабря 2016, 05:53

Есть вот такой кусок кода

while (key == KeyCode.None)
{
    foreach (ControllerPollingInfo info in ReInput.controllers.Keyboard.PollForAllKeys())
    {
        key = info.keyboardKey;
    }
}

Подвешивает при запуске Юнити насмерть. Он собирает данные по нажатым клавишам, и, видимо, делает это слишком быстро.

Очевидные решения которые пришли в голову мне -

1)вынести этот кусок кода в отдельный метод и вызывать в Update - вроде должно меньше виснуть. 2)Добавить корутину с, допустим,

yield return new WaitFoSeconds 0.25f,

4 опроса в секунду должно хватить для корректного опроса клавиатуры и не должно сильно подвешивать.

Есть у кого нибудь более простые и изящные решения?

Answer 1

Попробуйте while заменить помещением кода в Update с проверкой условия. Должно заработать.

READ ALSO
Написать синтез речи

Написать синтез речи

Хочу написать синтез речиОпыт работы с С# WinFoms

528
Помогите доделать сайт на mvc [требует правки]

Помогите доделать сайт на mvc [требует правки]

Для резюме хочу сделать простой сайт на mvc с отзывами, админпанелью

387
Как загружать файлы не упираясь в лимиты I/O?

Как загружать файлы не упираясь в лимиты I/O?

Проблема заключается в лимитах хостинга на чтение/запись, и при загрузке от 100 файлов(фоток) за раз, сервер упирается в лимиты и сбрасывает...

469