// Load level from the given assetBundle. private AssetBundleLoadOperation LoadLevelAsync(string assetBundleName, int version, string levelName, bool isAdditive) { AssetBundleLoadOperation operation = null; LoadAssetBundle(assetBundleName, version, ThreadPriority.High); operation = new AssetBundleLoadLevelOperation(assetBundleName, levelName, isAdditive); m_InProgressOperations.Add(operation); return(operation); }
public IEnumerator LoadLevel(string assetBundleName, int version, string levelName, bool isAdditive) { if (m_AssetBundleManifest == null) { UnityEngine.Debug.LogError(string.Format("LoadLevel failed, Please initialize AssetBundleManifest first. asset={0}, ver={1}", assetBundleName, version)); yield break; } //UnityEngine.Debug.Log("Start to load scene " + levelName + " at frame " + Time.frameCount); // Load level from assetBundle. AssetBundleLoadOperation request = LoadLevelAsync(assetBundleName, version, levelName, isAdditive); if (request == null) { yield break; } yield return(StartCoroutine(request)); // This log will only be output when loading level additively. //UnityEngine.Debug.Log("Finish loading scene " + levelName + " at frame " + Time.frameCount); }