diff --git a/GlitchyEditor/src/EditorLayer.bf b/GlitchyEditor/src/EditorLayer.bf index 4be15ef..2f80ce1 100644 --- a/GlitchyEditor/src/EditorLayer.bf +++ b/GlitchyEditor/src/EditorLayer.bf @@ -563,7 +563,19 @@ namespace GlitchyEditor /// Updates the title of the window. private void UpdateWindowTitle() { - Application.Instance.Window.Title = scope $"Glitchy Engine - {_currentProject.Name}"; + String title = scope String("Glitchy Engine"); + + if (_currentProject != null) + { + title.AppendF($" - {_currentProject.Name}"); + } + + if (_editorScene != null) + { + title.AppendF($" | {_editorScene.Name}"); + } + + Application.Instance.Window.Title = title; } #region Project Management @@ -1047,6 +1059,8 @@ namespace GlitchyEditor ScriptEngine.DeserializeScriptInstances(serializedObjects); } } + + UpdateWindowTitle(); } /// Creates a new default scene. diff --git a/GlitchyEngine/src/Application.bf b/GlitchyEngine/src/Application.bf index 8fb6acd..b393836 100644 --- a/GlitchyEngine/src/Application.bf +++ b/GlitchyEngine/src/Application.bf @@ -106,12 +106,13 @@ namespace GlitchyEngine Renderer.Deinit(); delete _contentManager; + + delete _layerStack; delete _rendererApi; delete _window; delete _gameTime; - delete _layerStack; ScriptEngine.Shutdown(); } diff --git a/GlitchyEngine/src/World/Scene.bf b/GlitchyEngine/src/World/Scene.bf index ad8e643..9d95b34 100644 --- a/GlitchyEngine/src/World/Scene.bf +++ b/GlitchyEngine/src/World/Scene.bf @@ -17,6 +17,8 @@ namespace GlitchyEngine.World class Scene : RefCounter { + private String _name = new String("New Scene") ~ delete _; + internal EcsWorld _ecsWorld = new .() ~ delete _; internal b2World* _physicsWorld2D; @@ -46,6 +48,16 @@ namespace GlitchyEngine.World cameraEntity }; + /// Gets or sets the name of the scene. + public StringView Name + { + get => _name; + set + { + _name.Set(value); + } + } + public this() { _onComponentAddedHandlers.Add(typeof(CameraComponent), (e, t, c) => { diff --git a/GlitchyEngine/src/World/SceneSerializer.bf b/GlitchyEngine/src/World/SceneSerializer.bf index 2bb87e0..cf31dee 100644 --- a/GlitchyEngine/src/World/SceneSerializer.bf +++ b/GlitchyEngine/src/World/SceneSerializer.bf @@ -323,7 +323,9 @@ class SceneSerializer Try!(Deserialize.Start(reader)); Try!(reader.ObjectBlock()); - + + _scene.Name = Path.GetFileName(filePath, .. scope .()); + // TODO: Scene name goes here! String testName; Deserialize.Value(reader, "Name", out testName);