UnityのCoroutineは次のような感じで使います。
void Start()
{
StartCoroutine(Example());
}
IEnumerator Example()
{
// 処理したい内容1
yield return null;
// 処理したい内容2
yield return null;
// 処理したい内容3
}
何かエラーがあった場合などCoroutineを抜けたい場合はyield break
を使って次のような感じで実装できるみたいです。
IEnumerator Example()
{
// 処理したい内容1
if (error) yield break;
yield return null;
// 処理したい内容2
if (error) yield break;
yield return null;
// 処理したい内容3
}
Coroutine内では普通のreturn
では終了できないので、代わりにyield break
を使うみたいです。
リンク
Exiting a coroutine – Unity Forum
https://forum.unity.com/threads/exiting-a-coroutine.113897/
関連記事
Unity Editorからのデバッグ時のみ実行するifdef
UNITY_EDITORを使うと、Unity Editorでのデバッグ時のみ実行するコードを書けるようです。
使い方は次のような感じです。
#if UNITY_EDITOR
Debug.log("debug");
#endif
他、UNITY_ANDROIDやUNITY_IPHONE等も便利そうです。
リンク
Unity - Platform Dependent C...
Unity License Error
タイミング的にWindowsのアップデートが関係していると思いますが、Unityを起動しようとすると「Unity License Error」と表示され、起動できなくなってしまいました。
Webでいろいろ調べてみたところ、とりあえず次のような感じで再アクティベーションできるみたいです。
Unityを終了して、C:\ProgramData\Unityのフォルダーを削除もしくはリ...
Time.timeScaleに依らないWaitForSeconds
UnityでTime.timeScaleに依らないWaitForSecondsを使いたい場合は、WaitForSecondsRealtimeというのが使えるそうです。
使い方はWaitForSecondsと同じ。
IEnumerator Example()
{
Debug.Log("start");
yield return new WaitForSecondsRealtim...