Ejemplo n.º 1
0
 public void SetStartLevelLoad(AsyncOperation asy, DelegateOnLevelLoadComplete callbackFun)
 {
     asyncLoad           = asy;
     progressCurrentTime = 0.0f;
     if (callbackFun != null)
     {
         levelLoadCompleteFuntion += callbackFun;
     }
 }
Ejemplo n.º 2
0
 protected virtual void Update()
 {
     if (asyncLoad != null)
     {
         if (asyncLoad.isDone)
         {
             asyncLoad = null;
             progressBar.SetProgressBar(1.0f, true);
             if (levelLoadCompleteFuntion != null)
             {
                 levelLoadCompleteFuntion();
                 levelLoadCompleteFuntion = null;
             }
             return;
         }
         float realProgressValue = asyncLoad.progress;
         //计算虚拟进度条
         progressCurrentTime += Time.deltaTime;
         float virtualProgressValue = UnityEngine.Mathf.Lerp(0.0f, 1.0f, progressCurrentTime / virtualProgressTime);
         progressBar.SetProgressBar(
             virtualProgressValue * (1.0f - realProgressRate) + realProgressValue * realProgressRate,
             true);
     }
 }