/// <summary> /// 更新 /// </summary> static public void Update() { // 检查空闲资源 if (TickManager.TickSince(_laskCheckUnusedResTick) > CheckUnusedResInterval) { CheckUnusedResources(); _laskCheckUnusedResTick = TickManager.tick; } }
/// <summary> /// 更新 /// </summary> void Update() { TickManager.Update(Time.deltaTime); if (TickManager.tick - _lastTickLoadingTick > 0) { TickLoading(); _lastTickLoadingTick = TickManager.tick; } UpdateLoadingProgress(); }
/// <summary> /// Awake /// </summary> void Awake() { TickManager.Start(); // 创建加载管线 for (int i = 0; i < _loadPipelines.Length; ++i) { _loadPipelines[i] = new ResLoadPipeline(this); } UtilityTools.InitResPath(); ResManager.Init(gameObject); }
/// <summary> /// 更新视锥,为的是错开各个树的tick /// </summary> private void CheckFrustum() { // 时间间隔 if (TickManager.TickSince(_lastUpdateViewTick) < CheckViewTick[(int)_data.Index]) { return; } _lastUpdateViewTick = TickManager.tick; _root.CheckFrustum(SceneController.frustum); }
/// <summary> /// 检查没有用的资源 /// </summary> static void CheckUnusedResources() { for (int i = 0, ci = _unusedResources.Count; i < ci; ++i) { var res = _unusedResources[i]; if (TickManager.TickSince(res.unuseTick) > DestroyResTickDelay) { _dictResources.Remove(res.url); _unusedResources.RemoveAt(i--); --ci; res.Destroy(); } } }
/// <summary> /// 检查资源 /// </summary> /// <param name="center"></param> public void CheckResources(Vector3 center) { // 时间间隔 if (TickManager.TickSince(_lastUpdateResTick) < CheckInterval[(int)_data.Index]) { return; } _lastUpdateResTick = TickManager.tick; // 距离 if (MathUtil.SqrMagnitude2D(_viewBounds.center - center) < CheckError[(int)_data.objType]) { return; } _viewBounds.center = center; // 检查 _root.CheckResources(_viewBounds); }