Tool windows redesign and the Novel Editor workspace
Tool windows: - Every editor (scenario, scene builder, map, interactive objects, lighting, catalog export) is rebuilt on the interface ToolWindow chrome and the denser ToolTheme: header with title/close, status bar, Ctrl+S, dirty-state confirmation. - Shared building blocks in src/Common: ToolUi (rows, buttons, sections), CollapsibleSection, FilteredList, ModFileSelector, DragHandle and BackgroundCanvas (scene background with pan/zoom). - The map, interactive and light editors draw on canvases (MapEditorCanvas, InteractiveEditorCanvas, LightEditorCanvas) instead of one Control "handle" node per object; the *Handle classes are removed. - Scenario editor: tab data model (TabData), automatic graph layout (ScenarioGraphLayout), file tree/info/thumbnail panel updates. - Services: ModFileService (mod file listing and writing), SceneBackgroundService; MapFileService/ModResourceService follow. - Catalog export: per-language name/description editing. - Locale (en/ru) regrouped under tools/*; unused keys removed. Novel Editor: - collections/novel_editor.json: a "game" whose entry scene is an authoring workspace over the novel engine and the story content. - NovelEditorHub (scenes/novel_editor_hub.tscn) lists every installed tool through IToolProvider.AddMenuButton; ToolsInitializer registers it as the logical scene "novel_editor".
This commit is contained in:
1 parent
578ba7c5d5
commit
8742aa3da5
45 files changed
+4718
-3463
No files matched your search
@@ -0,0 +1,26 @@
|
||||
namespace Cthangover.Tools.Hub
|
||||
{
|
||||
using Cthangover.Core.Mods;
|
||||
using Cthangover.Core.Scenes;
|
||||
|
||||
/// <summary>
|
||||
/// Lifecycle entry point of the tools mod. Publishes the logical scene
|
||||
/// <see cref="NovelEditorHub.SceneName"/>, the entry scene of the
|
||||
/// <c>novel_editor</c> collection: launching that collection from the game
|
||||
/// picker goes through the regular new-game flow and lands on the editor
|
||||
/// launcher instead of a story scene.
|
||||
/// </summary>
|
||||
public class ToolsInitializer : IModInitializer
|
||||
{
|
||||
private const string HubScenePath = "scenes/novel_editor_hub.tscn";
|
||||
|
||||
public void OnModLoaded(string modId)
|
||||
{
|
||||
}
|
||||
|
||||
public void OnModResourcesReady()
|
||||
{
|
||||
SceneRouteRegistry.Register(NovelEditorHub.SceneName, HubScenePath, fade: false);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user