У Unity у нас є спеціальні речі для процедур, які є додатковими до звичайного C #.
наприклад, ми можемо використовувати
yield return WaitForSeconds(5.f);
щоб почекати 5 хвилин перед продовженням.
Що робити yield return false;і yield return true;робити?
if (0)або if (null), в відміну від C і C ++.
yield return 0працює; Мабуть, через причину MLM пояснив
yieldКлючове слово було навколо , так як , по крайней мере C # 2.0. Все, що має Unity, це викликати його програмою та обробляти генерований ітератор та значення, повернені з нього, таким чином, що ви можете спричинити незаблокування затримок у виконанні вашого коду.
WaitForSeconds, що не оголошено. Як тільки ви оголосите метод, який називається, WaitForSecondsякий бере аргумент float і який повертає тип елемента перерахунку, який ви реалізуєте, він буде компілюватися знову. Отже, yieldне є особливим для Єдності. Якщо що-небудь, WaitForSecondsметод є особливим для Unity, але навіть тоді він не розширює мову C #, а є просто додатковим методом, який був написаний за допомогою стандартного C #.
yield return trueробить щось особливе. Алеyield return nullпросто пауза для кадру, тому я підозрюю, щоyield return falseмає такий самий ефект (також,yield return 0оскільки 0 помилкових нульових