12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- using UnityEngine;
- using UnityEngine.SceneManagement;
- namespace IngameDebugConsole.Commands
- {
- public class SceneCommands
- {
- [ConsoleMethod( "scene.load", "Loads a scene" ), UnityEngine.Scripting.Preserve]
- public static void LoadScene( string sceneName )
- {
- LoadSceneInternal( sceneName, false, LoadSceneMode.Single );
- }
- [ConsoleMethod( "scene.load", "Loads a scene" ), UnityEngine.Scripting.Preserve]
- public static void LoadScene( string sceneName, LoadSceneMode mode )
- {
- LoadSceneInternal( sceneName, false, mode );
- }
- [ConsoleMethod( "scene.loadasync", "Loads a scene asynchronously" ), UnityEngine.Scripting.Preserve]
- public static void LoadSceneAsync( string sceneName )
- {
- LoadSceneInternal( sceneName, true, LoadSceneMode.Single );
- }
- [ConsoleMethod( "scene.loadasync", "Loads a scene asynchronously" ), UnityEngine.Scripting.Preserve]
- public static void LoadSceneAsync( string sceneName, LoadSceneMode mode )
- {
- LoadSceneInternal( sceneName, true, mode );
- }
- private static void LoadSceneInternal( string sceneName, bool isAsync, LoadSceneMode mode )
- {
- if( SceneManager.GetSceneByName( sceneName ).IsValid() )
- {
- Debug.Log( "Scene " + sceneName + " is already loaded" );
- return;
- }
- if( isAsync )
- SceneManager.LoadSceneAsync( sceneName, mode );
- else
- SceneManager.LoadScene( sceneName, mode );
- }
- [ConsoleMethod( "scene.unload", "Unloads a scene" ), UnityEngine.Scripting.Preserve]
- public static void UnloadScene( string sceneName )
- {
- SceneManager.UnloadSceneAsync( sceneName );
- }
- [ConsoleMethod( "scene.restart", "Restarts the active scene" ), UnityEngine.Scripting.Preserve]
- public static void RestartScene()
- {
- SceneManager.LoadScene( SceneManager.GetActiveScene().name, LoadSceneMode.Single );
- }
- }
- }
|