/// <summary> /// 自定义LoadTask /// </summary> /// <param name="task"></param> public static void LoadScene(ISceneLoadTask task) { if (task == null) { return; } Instance.StartCoroutine(Instance.LoadSceneAsync(task)); }
private IEnumerator LoadSceneAsync(ISceneLoadTask task) { if (mStatus != LoadStatus.Done) { yield return(BeginInitialize()); } BundleScene bundle = GetOrCreateBundle <BundleScene>(task.assetName); yield return(bundle.LoadSceneAsync(task)); }
public IEnumerator LoadSceneAsync(ISceneLoadTask task) { if (task == null) { yield break; } this.task = task; //加载Bundle yield return(LoadAsync()); SceneManager.sceneLoaded += OnSceneLoaded; //加载场景 yield return(SceneManager.LoadSceneAsync(task.sceneName, task.mode)); }
/// <summary> /// 自定义LoadTask /// </summary> /// <param name="task"></param> public static void LoadScene(ISceneLoadTask task) { if (task == null) { Debug.LogError("The param task can't be null!"); return; } if (string.IsNullOrEmpty(task.bundleName)) { Debug.LogError("BundlName can't be null!"); return; } if (string.IsNullOrEmpty(task.sceneName)) { Debug.LogError("SceneName can't be null!"); return; } Instance.StartCoroutine(Instance.LoadSceneAsync(task)); }