WaitForSeconds は Time.timescale に依存するため
Time.timescale に 0 が代入されていると
WaitForSeconds が完了することはありません
もしも Time.timescale に依存しないようにしたい場合は
Unity 5.3 から追加された
「CustomYieldInstruction」を使用することで実現可能です
using System.Collections; using UnityEngine; public sealed class WaitForSecondsRealtime : CustomYieldInstruction { private float waitTime; public override bool keepWaiting { get { return Time.realtimeSinceStartup < waitTime; } } public WaitForSecondsRealtime( float time ) { waitTime = Time.realtimeSinceStartup + time; } }
IEnumerator Start() { yield return new WaitForSecondsRealtime( 2 ); }