簡介 : 每隔一段時間執行
使用 : m_EnableFlag 控制該迴圈是否執行
優點:
- 可於 Editor mode 中手動 on/off m_EnableFlag 來啟用或中止迴圈的工作
- 或直接以 Alt+Shift+A 來切換 GameObject 狀態, 並且在 OnEnable 後會自動執行迴圈中的動作
- 修改 m_Interval 直接影響下一個的執行間隔.
缺點:
- Coroutine 一直運行
- 呼叫 StopAllCoroutine() 會被中止, 直到 GameObject 下一次的 OnEnable
public bool m_EnableFlag = true;
public float m_Interval = 0.3f;
private void OnEnable()
{
StartCoroutine(PeriodicUpdate());
}
private IEnumerator PeriodicUpdate()
{
while(true)
{
while(m_EnableFlag)
{
//***************************/
// put interval process here
//***************************/
yield return new WaitForSeconds(m_Interval);
}
yield return null;
}
}