// static public void RemoveListener(OnEndOfFrame listener) { if (listener == null || _singleton == null) { return; } singleton.listeners.Remove(listener); }
// static public void AddListener(OnEndOfFrame listener) { if (listener == null) { return; } singleton.listeners.Add(listener); }
// private IEnumerator EndOfFrameRoutine() { while (true) { yield return(waitForEndOfFrame); for (int i = listeners.Count - 1; i >= 0; i--) { OnEndOfFrame listener = listeners[i]; if (listener != null) { listener(); } else { listeners.RemoveAt(i); } } } }