// Update is called once per frame public virtual void Update() { if (_luaenv != null) { _luaenv.Tick(); } if (_cotype == CoType.CO) { CoWorker(); while (_renderQueue.Count > 0) { Actor.RenderHandler handler = _renderQueue.Dequeue(); NotificationCenter.current.StartCoroutine(CoHandler(handler)); //handler(); } } else { // 此段代码可以用协程 while (_renderQueue.Count > 0) { Actor.RenderHandler handler = null; lock (_renderQueue) { handler = _renderQueue.Dequeue(); } handler(); } } }
public void CustomUpdate() { if (null == m_luaVM) { return; } if (Time.time - m_lastGCTime > m_GCInterval) { m_luaVM.Tick(); m_lastGCTime = Time.time; } }