Esempio n. 1
0
    public static ISceneLoadPromise Load(string sceneName, SceneLoadSettings loadSettings)
    {
        // add new promise
        ScenePromise scenePromise = new ScenePromise(sceneName);

        Instance._loadingScenePromises.Add(scenePromise);


        LoadSceneParameters loadParameters = new LoadSceneParameters()
        {
            loadSceneMode    = loadSettings.LoadSceneMode,
            localPhysicsMode = loadSettings.LocalPhysicsMode
        };

        try
        {
            switch (loadSettings.LoadSceneMode)
            {
            case LoadSceneMode.Single:
                SceneManager.LoadScene(sceneName, loadParameters);
                break;

            case LoadSceneMode.Additive:
                SceneManager.LoadSceneAsync(sceneName, loadParameters);
                break;

            default:
                throw new NotSupportedException();
            }
        }
        catch (Exception e)
        {
            Debug.LogError(e.Message);
        }

        return(scenePromise);
    }
Esempio n. 2
0
 public static ISceneLoadPromise Load(SceneInfo sceneInfo, SceneLoadSettings loadSettings)
 {
     return(Load(sceneInfo.SceneName, loadSettings));
 }