예제 #1
0
        private void UpdateLoading( )
        {
            // 计算当前的总的加载进度
            float progress = 0;

            foreach (var one in _cache.Loaders)
            {
                if (!one.IsCompleted)
                {
                    one.Update( );
                    progress += one.Progress;
                }
                else
                {
                    progress += 1;
                }
            }

            progress = progress / _cache.Loaders.Count;
            //GameLogger.GetInstance( ).Trace( string.Format( "progress:{0}", progress ) );

            // ui 刷新
            _uiLoading.Fill(progress);

            foreach (var one in _cache.Loaders)
            {
                if (!one.IsCompleted)
                {
                    return;
                }
            }

            _phase = AsyncLoaderPhase.Loaded;
        }
예제 #2
0
        private void UpdateBeginLoading( )
        {
            foreach (var one in _cache.Loaders)
            {
                one.Start( );
            }

            _phase = AsyncLoaderPhase.Loading;
        }
예제 #3
0
        private void UpdateLoadingBar( )
        {
            if (_uiLoading.GetState( ) != UiState.Ok)
            {
                return;
            }

            _phase = AsyncLoaderPhase.BeginLoading;
        }
예제 #4
0
 private void UpdateBeginLoadingBar( )
 {
     _uiLoading = UiMgr.GetInstance( ).OpenUi(UiType.LoadingBar) as UiLoadBar;
     _phase     = AsyncLoaderPhase.LoadingBar;
 }
예제 #5
0
 public void Start( )
 {
     _phase = AsyncLoaderPhase.BeginLoadingBar;
 }