У 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 помилкових нульових