feat: add runtime play tick and play-mode scene editing semantics

This commit is contained in:
2026-04-02 19:37:35 +08:00
parent e30f5d5ffa
commit fb15d60be9
28 changed files with 2016 additions and 45 deletions

View File

@@ -11,6 +11,22 @@ namespace Editor {
inline std::string BuildEditorWindowTitle(IEditorContext& context) {
auto& sceneManager = context.GetSceneManager();
std::string modePrefix;
switch (context.GetRuntimeMode()) {
case EditorRuntimeMode::Play:
modePrefix = "[Play] ";
break;
case EditorRuntimeMode::Paused:
modePrefix = "[Paused] ";
break;
case EditorRuntimeMode::Simulate:
modePrefix = "[Simulate] ";
break;
case EditorRuntimeMode::Edit:
default:
break;
}
std::string sceneName = sceneManager.HasActiveScene() ? sceneManager.GetCurrentSceneName() : "No Scene";
if (sceneName.empty()) {
sceneName = "Untitled Scene";
@@ -26,7 +42,7 @@ inline std::string BuildEditorWindowTitle(IEditorContext& context) {
sceneName += std::filesystem::path(sceneManager.GetCurrentScenePath()).filename().string();
}
return sceneName + " - XCEngine Editor";
return modePrefix + sceneName + " - XCEngine Editor";
}
} // namespace Editor