Unityの学習用の本で
次のコードがあり、わかりませんでしたので、
調べました。
IEnumerator RecoverCandy()
{
counter = RecoverySecond;
// 1秒ずつカウントを進める
while (counter > 0)
{
yield return new WaitForSeconds(1.0f);
counter--;
}
candy++;
}
完全に理解できたわけではありませんが、
yield return まで処理実行され、
一度呼び出し側に処理が戻り、
呼び出し側の処理が終わったのち、
その後、yield returnの次の文から実行される。
という流れのようです。
シングルスレッドなので、処理を止めずに時間の経過を確認するには、
このような処理が必要なのだと思います。
この関数はコルーチンで実行するもののようです。
C#についてはほとんど学習していないので難しいです。
UnityのスクリプトはC#なのでMicrosoft Learnで確認しながら
使えるようになりたいです。