You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.8 KiB
C#
58 lines
1.8 KiB
C#
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 );
|
|
}
|
|
}
|
|
} |