Beispiel #1
0
        // 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();
                }
            }
        }
Beispiel #2
0
 public void CustomUpdate()
 {
     if (null == m_luaVM)
     {
         return;
     }
     if (Time.time - m_lastGCTime > m_GCInterval)
     {
         m_luaVM.Tick();
         m_lastGCTime = Time.time;
     }
 }