diff --git a/collections/dev_tools.json b/collections/dev_tools.json new file mode 100644 index 0000000..a6fe423 --- /dev/null +++ b/collections/dev_tools.json @@ -0,0 +1,28 @@ +{ + "id": "dev_tools", + "name": "Developer Tools", + "author": "ct", + "version": "1.0.0", + "description": "Mod authoring toolset: the scenario graph editor, content validators and the mod manager.", + "mechanics": [ + { + "id": "editor", + "name": "Scenario Editor", + "description": "Graph-based scenario and scene authoring tools.", + "mods": ["tools>=1"] + }, + { + "id": "validation", + "name": "Validation", + "description": "Optional content validation suite.", + "mods": ["validator>=0.1"], + "optional": true + }, + { + "id": "manager", + "name": "Mod Manager", + "description": "Catalog browser and installer.", + "mods": ["mod_manager>=1"] + } + ] +} diff --git a/locale/ui_en.properties b/locale/ui_en.properties index 9ea2844..901f418 100644 --- a/locale/ui_en.properties +++ b/locale/ui_en.properties @@ -1,11 +1,6 @@ mod_tools_name = Tools mod_tools_desc = Development tools -tools/title = Tools -tools/select_tool = Select a tool: -tools/launch = Launch -tools/close = Close - tools/light_editor/title = Light Editor tools/light_editor/background = Background tools/light_editor/static_lights = Static lights (max. 10) diff --git a/locale/ui_ru.properties b/locale/ui_ru.properties index 5f6cd52..de13e6b 100644 --- a/locale/ui_ru.properties +++ b/locale/ui_ru.properties @@ -2,11 +2,6 @@ mod_tools_name = Инструменты mod_tools_desc = Инструменты разработчика -tools/title = Инструменты -tools/select_tool = Выберите инструмент: -tools/launch = Запустить -tools/close = Закрыть - tools/light_editor/title = Редактор освещения tools/light_editor/background = Фон tools/light_editor/static_lights = Статичные источники (макс. 10) diff --git a/src/CatalogExport/CatalogExportToolProvider.cs b/src/CatalogExport/CatalogExportToolProvider.cs index 042575e..1796877 100644 --- a/src/CatalogExport/CatalogExportToolProvider.cs +++ b/src/CatalogExport/CatalogExportToolProvider.cs @@ -19,5 +19,8 @@ namespace Cthangover.Core.UI.Tool.CatalogExport /// Creates the export window instance. public Window CreateWindow() => new CatalogExportWindow(); + + /// Adds the catalog export launcher button to the main menu tool block. + public void AddMenuButton(Container container) => ToolMenuButton.Attach(container, this); } } diff --git a/src/InteractiveEditor/InteractiveEditorToolProvider.cs b/src/InteractiveEditor/InteractiveEditorToolProvider.cs index 5dca33e..b0a6ab0 100644 --- a/src/InteractiveEditor/InteractiveEditorToolProvider.cs +++ b/src/InteractiveEditor/InteractiveEditorToolProvider.cs @@ -16,6 +16,8 @@ namespace Cthangover.Tools.InteractiveEditor public string LocaleKey => "tools/interactive_editor/title"; /// Creates the editor window instance. public Window CreateWindow() => new InteractiveEditorWindow(); + /// Adds the interactive editor's launcher button to the main menu tool block. + public void AddMenuButton(Container container) => ToolMenuButton.Attach(container, this); } /// diff --git a/src/LightEditor/LightEditorToolProvider.cs b/src/LightEditor/LightEditorToolProvider.cs index a32a267..fa2d6e2 100644 --- a/src/LightEditor/LightEditorToolProvider.cs +++ b/src/LightEditor/LightEditorToolProvider.cs @@ -12,6 +12,8 @@ namespace Cthangover.Core.UI.Tool.LightEditor public string LocaleKey => "tools/light_editor/title"; /// Creates the editor window instance. public Window CreateWindow() => new LightEditorWindow(); + /// Adds the light editor's launcher button to the main menu tool block. + public void AddMenuButton(Container container) => ToolMenuButton.Attach(container, this); } /// Toolbox button that opens the light editor. Always visible. diff --git a/src/ScenarioEditor/ScenarioEditorToolProvider.cs b/src/ScenarioEditor/ScenarioEditorToolProvider.cs index fbd8143..ddfa7fb 100644 --- a/src/ScenarioEditor/ScenarioEditorToolProvider.cs +++ b/src/ScenarioEditor/ScenarioEditorToolProvider.cs @@ -12,5 +12,7 @@ namespace Cthangover.Core.UI.Tool.ScenarioEditor public string LocaleKey => "tools/scenario_editor/title"; /// Creates the editor window instance. public Window CreateWindow() => new ScenarioEditorWindow(); + /// Adds the scenario editor's launcher button to the main menu tool block. + public void AddMenuButton(Container container) => ToolMenuButton.Attach(container, this); } } diff --git a/src/SceneBuilder/SceneBuilderToolProvider.cs b/src/SceneBuilder/SceneBuilderToolProvider.cs index 2e47346..ee0c440 100644 --- a/src/SceneBuilder/SceneBuilderToolProvider.cs +++ b/src/SceneBuilder/SceneBuilderToolProvider.cs @@ -12,5 +12,7 @@ namespace Cthangover.Core.UI.Tool.SceneBuilder public string LocaleKey => "tools/scene_builder/title"; /// Creates the editor window instance. public Window CreateWindow() => new SceneBuilderWindow(); + /// Adds the scene builder's launcher button to the main menu tool block. + public void AddMenuButton(Container container) => ToolMenuButton.Attach(container, this); } }