#pragma once #include "Core/IEditorContext.h" #include "Core/ISceneManager.h" #include #include namespace XCEngine { namespace Editor { inline std::string BuildEditorWindowTitle(IEditorContext& context) { auto& sceneManager = context.GetSceneManager(); std::string sceneName = sceneManager.HasActiveScene() ? sceneManager.GetCurrentSceneName() : "No Scene"; if (sceneName.empty()) { sceneName = "Untitled Scene"; } if (sceneManager.IsSceneDirty()) { sceneName += " *"; } if (sceneManager.GetCurrentScenePath().empty()) { sceneName += " (Unsaved)"; } else { sceneName += " - "; sceneName += std::filesystem::path(sceneManager.GetCurrentScenePath()).filename().string(); } return sceneName + " - XCEngine Editor"; } } // namespace Editor } // namespace XCEngine