예제 #1
0
        // 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);
        }
예제 #2
0
        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);
        }