簡介 : 每隔一段時間執行
使用 : 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; } }