Exemplo n.º 1
0
        /// <summary>
        /// 每帧更新后
        /// </summary>
        public void LateUpdate()
        {
            var cursor = lateUpdate.GetEnumerator();

            while (cursor.MoveNext())
            {
                cursor.Current.LateUpdate();
            }
            cursor.Dispose();
        }
Exemplo n.º 2
0
        /// <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();
        }
Exemplo n.º 3
0
        /// <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();
                }
            }
        }