Exemplo n.º 1
0
 /// <summary>
 /// 自定义LoadTask
 /// </summary>
 /// <param name="task"></param>
 public static void LoadScene(ISceneLoadTask task)
 {
     if (task == null)
     {
         return;
     }
     Instance.StartCoroutine(Instance.LoadSceneAsync(task));
 }
Exemplo n.º 2
0
    private IEnumerator LoadSceneAsync(ISceneLoadTask task)
    {
        if (mStatus != LoadStatus.Done)
        {
            yield return(BeginInitialize());
        }

        BundleScene bundle = GetOrCreateBundle <BundleScene>(task.assetName);

        yield return(bundle.LoadSceneAsync(task));
    }
Exemplo n.º 3
0
    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));
    }
Exemplo n.º 4
0
    /// <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));
    }