UI/MenuSystem/Pages/OpenScenePage.razor
@using Sandbox.UI
@using Sandbox
@inherits Panel
@namespace Opium.UI
<root class="body column">
</root>
@code
{
public SceneFile GetScene( string path )
{
return ResourceLibrary.Get<SceneFile>(path);
}
bool loadedScene = false;
public void OpenScene()
{
if ( loadedScene ) return;
loadedScene = true;
var scene = GetScene( "scenes/demo_level_01.scene" );
if ( scene is not null )
Game.ActiveScene.Load( scene );
}
async void OpenSceneAsync()
{
await GameTask.DelaySeconds( 1f );
OpenScene();
}
protected override void OnAfterTreeRender(bool firstTime)
{
base.OnAfterTreeRender(firstTime);
OpenSceneAsync();
}
}