Ejemplo n.º 1
0
        private void FilterInfos()
        {
            // 回收引用
            ReferencePool.Release(_cacheInfos);
            _cacheInfos.Clear();

            var fileLoaders = AssetSystem.GetAllLoaders();

            _loaderTotalCount = fileLoaders.Count;
            foreach (var loader in fileLoaders)
            {
                // 只搜索关键字
                if (string.IsNullOrEmpty(_filterKey) == false)
                {
                    if (loader.BundleInfo.BundleName.Contains(_filterKey) == false)
                    {
                        continue;
                    }
                }

                LoaderWrapper loaderWrapper = ReferencePool.Spawn <LoaderWrapper>();
                loaderWrapper.BundleName = loader.BundleInfo.BundleName;
                loaderWrapper.Loader     = loader;

                // 添加到显示列表
                _cacheInfos.Add(loaderWrapper);
            }

            // 重新排序
            _cacheInfos.Sort();
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 延迟广播事件
        /// </summary>
        public void PostMessage(int eventId, IEventMessage message)
        {
            var wrapper = ReferencePool.Spawn <PostWrapper>();

            wrapper.PostFrame = UnityEngine.Time.frameCount;
            wrapper.EventID   = eventId;
            wrapper.Message   = message;
            _postWrappers.Add(wrapper);
        }
Ejemplo n.º 3
0
        private void HandleUnityEngineLog(string logString, string stackTrace, LogType type)
        {
            LogWrapper wrapper = ReferencePool.Spawn <LogWrapper>();

            wrapper.Type = type;

            _totalCount++;
            if (type == LogType.Assert || type == LogType.Error || type == LogType.Exception)
            {
                wrapper.Log = $"[{_totalCount}] " + logString + "\n" + stackTrace;
            }
            else
            {
                wrapper.Log = $"[{_totalCount}] " + logString;
            }

            if (type == LogType.Log)
            {
                _logCount++;
            }
            else if (type == LogType.Warning)
            {
                _warningCount++;
            }
            else if (type == LogType.Assert || type == LogType.Error || type == LogType.Exception)
            {
                _errorCount++;
            }
            else
            {
                throw new NotImplementedException(type.ToString());
            }

            _logs.Add(wrapper);
            if (_logs.Count > LOG_MAX_COUNT)
            {
                ReferencePool.Release(_logs[0]);
                _logs.RemoveAt(0);
            }
        }
Ejemplo n.º 4
0
        private void FilterInfos()
        {
            // 回收引用
            ReferencePool.Release(_cacheInfos);

            // 清空列表
            _cacheInfos.Clear();

            // 绘制显示列表
            var fileLoaders = AssetSystem.GetAllLoaders();

            _loaderTotalCount = fileLoaders.Count;
            foreach (var loader in fileLoaders)
            {
                // 只搜索关键字
                if (string.IsNullOrEmpty(_filterKey) == false)
                {
                    if (loader.LoadPath.Contains(_filterKey) == false)
                    {
                        continue;
                    }
                }

                string info = Substring(loader.LoadPath, "/assets/");
                info = info.Replace(".unity3d", string.Empty);
                info = $"{info} = {loader.RefCount}";

                InfoWrapper element = ReferencePool.Spawn <InfoWrapper>();
                element.Info                = info;
                element.LoadState           = loader.States;
                element.ProviderFailedCount = loader.GetFailedProviderCount();

                // 添加到显示列表
                _cacheInfos.Add(element);
            }

            // 重新排序
            _cacheInfos.Sort();
        }
Ejemplo n.º 5
0
        private void HandleUnityEngineLog(string logString, string stackTrace, LogType type)
        {
            LogWrapper wrapper = ReferencePool.Spawn <LogWrapper>();

            wrapper.Type = type;

            if (type == LogType.Assert || type == LogType.Error || type == LogType.Exception)
            {
                wrapper.Log = logString + "\n" + stackTrace;
            }
            else
            {
                wrapper.Log = logString;
            }

            _logs.Add(wrapper);

            if (_logs.Count > LOG_MAX_COUNT)
            {
                ReferencePool.Release(_logs[0]);
                _logs.RemoveAt(0);
            }
        }
Ejemplo n.º 6
0
        private void FilterInfos()
        {
            // 回收引用
            ReferencePool.Release(_cacheInfos);

            // 清空列表
            _cacheInfos.Clear();

            // 绘制显示列表
            var fileLoaders = AssetSystem.GetAllLoaders();

            _loaderTotalCount = fileLoaders.Count;
            foreach (var loader in fileLoaders)
            {
                // 只搜索关键字
                if (string.IsNullOrEmpty(_filterKey) == false)
                {
                    if (loader.BundleInfo.ManifestPath.Contains(_filterKey) == false)
                    {
                        continue;
                    }
                }

                string      info    = $"资源名称:{loader.BundleInfo.ManifestPath}  资源版本:{loader.BundleInfo.Version}  引用计数:{loader.RefCount}";
                InfoWrapper element = ReferencePool.Spawn <InfoWrapper>();
                element.Info                = info;
                element.LoadState           = loader.States;
                element.ProviderFailedCount = loader.GetFailedProviderCount();

                // 添加到显示列表
                _cacheInfos.Add(element);
            }

            // 重新排序
            _cacheInfos.Sort();
        }