| using System; | 
| using System.Collections.Generic; | 
| using System.IO; | 
| using UnityEngine; | 
| public class AssetBundleInitTask : LaunchTask | 
| { | 
|     public override float expectTime | 
|     { | 
|         get { return LocalSave.GetFloat("AssetBundleInitTask_ExpectTime", 1f); } | 
|         protected set { LocalSave.SetFloat("AssetBundleInitTask_ExpectTime", value); } | 
|     } | 
|   | 
|     public override void Begin() | 
|     { | 
|         LaunchInHot.m_CurrentStage = LaunchStage.AssetBundleInit; | 
|   | 
|         duration = Mathf.Max(0.5f, expectTime); | 
|         if (AssetSource.isUseAssetBundle) | 
|         { | 
|             AssetBundleUtility.Instance.Initialize(); | 
|             done = false; | 
|             progress = 0f; | 
|         } | 
|         else | 
|         { | 
|             done = true; | 
|         } | 
|     } | 
|   | 
|     public override void End() | 
|     { | 
|         expectTime = timer;  | 
|         // UILoader.LoadWindowAsync("LaunchBackGroundWin", null); | 
|         Debug.LogFormat("{0}执行时长:{1};", this.GetType().Name, timer); | 
|     } | 
|   | 
|     public override void Update() | 
|     { | 
|         if (done) | 
|         { | 
|             return; | 
|         } | 
|   | 
|         if (AssetBundleUtility.Instance.initialized && AssetBundleUtility.Instance.initializedUIAssetBundle) | 
|         { | 
|             done = true; | 
|         } | 
|         else | 
|         { | 
|             done = false; | 
|             progress = timer / duration; | 
|         } | 
|   | 
|         ExceptionReport(); | 
|     } | 
| } |