Exemple #1
0
 /// <summary>
 /// 更新
 /// </summary>
 static public void Update()
 {
     // 检查空闲资源
     if (TickManager.TickSince(_laskCheckUnusedResTick) > CheckUnusedResInterval)
     {
         CheckUnusedResources();
         _laskCheckUnusedResTick = TickManager.tick;
     }
 }
Exemple #2
0
 /// <summary>
 /// 更新
 /// </summary>
 void Update()
 {
     TickManager.Update(Time.deltaTime);
     if (TickManager.tick - _lastTickLoadingTick > 0)
     {
         TickLoading();
         _lastTickLoadingTick = TickManager.tick;
     }
     UpdateLoadingProgress();
 }
Exemple #3
0
 /// <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);
 }
Exemple #4
0
        /// <summary>
        /// 更新视锥,为的是错开各个树的tick
        /// </summary>
        private void CheckFrustum()
        {
            // 时间间隔
            if (TickManager.TickSince(_lastUpdateViewTick) < CheckViewTick[(int)_data.Index])
            {
                return;
            }

            _lastUpdateViewTick = TickManager.tick;
            _root.CheckFrustum(SceneController.frustum);
        }
Exemple #5
0
 /// <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();
         }
     }
 }
Exemple #6
0
        /// <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);
        }