示例#1
0
文件: Driver.cs 项目: U3DC/CatLib
        /// <summary>
        /// 每帧更新后
        /// </summary>
        public void LateUpdate()
        {
            var cursor = lateUpdate.GetEnumerator();

            while (cursor.MoveNext())
            {
                cursor.Current.LateUpdate();
            }
            cursor.Dispose();
        }
示例#2
0
文件: Driver.cs 项目: U3DC/CatLib
        /// <summary>
        /// 当释放时
        /// </summary>
        public void OnDestroy()
        {
            var cursor = destroy.GetEnumerator();

            while (cursor.MoveNext())
            {
                cursor.Current.OnDestroy();
            }
            cursor.Dispose();

            update.Clear();
            lateUpdate.Clear();
            destroy.Clear();
            loadSet.Clear();
        }
示例#3
0
文件: Driver.cs 项目: U3DC/CatLib
        /// <summary>
        /// 每帧更新
        /// </summary>
        public void Update()
        {
            var cursor = update.GetEnumerator();

            while (cursor.MoveNext())
            {
                cursor.Current.Update();
            }
            cursor.Dispose();
            lock (mainThreadDispatcherQueueLocker)
            {
                while (mainThreadDispatcherQueue.Count > 0)
                {
                    mainThreadDispatcherQueue.Dequeue().Invoke();
                }
            }
        }