From 138b0f689d19fc83e908a99c7a472174b47164ae Mon Sep 17 00:00:00 2001 From: iisaev Date: Fri, 23 Oct 2026 19:09:45 +0200 Subject: [PATCH] Item editor: items of a mod in a searchable list, name/description in every language, price, icon, types, use action; GUI suite items_editor_edit --- .gitattributes | 30 +++ locale/ui_en.properties | 13 ++ locale/ui_ru.properties | 13 ++ manifest.json | 24 +++ mod.jpg | Bin 0 -> 111568 bytes src/ItemEditorToolBoxButton.cs | 20 ++ src/ItemEditorToolProvider.cs | 26 +++ src/ItemEditorWindow.cs | 52 +++++ test_suites/edit/manifest.json | 10 + test_suites/edit/src/ItemEditorTestDriver.cs | 202 ++++++++++++++++++ .../edit/src/ItemEditorTestInitializer.cs | 33 +++ 11 files changed, 423 insertions(+) create mode 100644 .gitattributes create mode 100644 locale/ui_en.properties create mode 100644 locale/ui_ru.properties create mode 100644 manifest.json create mode 100644 mod.jpg create mode 100644 src/ItemEditorToolBoxButton.cs create mode 100644 src/ItemEditorToolProvider.cs create mode 100644 src/ItemEditorWindow.cs create mode 100644 test_suites/edit/manifest.json create mode 100644 test_suites/edit/src/ItemEditorTestDriver.cs create mode 100644 test_suites/edit/src/ItemEditorTestInitializer.cs diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..3030c1a --- /dev/null +++ b/.gitattributes @@ -0,0 +1,30 @@ +# Line endings: LF everywhere, on every OS, whatever core.autocrlf says. +* text=auto eol=lf + +# cmd.exe misreads labels and goto in LF batch files, so they stay CRLF. +*.bat text eol=crlf +*.cmd text eol=crlf + +# Binaries: never converted, never diffed as text. +*.png binary +*.jpg binary +*.jpeg binary +*.webp binary +*.svg text +*.ogg binary +*.wav binary +*.mp3 binary +*.ttf binary +*.otf binary +*.woff binary +*.woff2 binary +*.dll binary +*.so binary +*.dylib binary +*.pdb binary +*.exe binary +*.zip binary +*.pck binary +*.moc3 binary +*.res binary +*.scn binary diff --git a/locale/ui_en.properties b/locale/ui_en.properties new file mode 100644 index 0000000..5531fac --- /dev/null +++ b/locale/ui_en.properties @@ -0,0 +1,13 @@ +mod_items_editor_name = Item Editor +mod_items_editor_desc = Editor of the game's items: a searchable list with pictures, name and description in every language of the mod, price, icon, types and the use action; a save shows in the game at once. +tools/items_editor/title = Items +tools/items_editor/name = Name +tools/items_editor/description = Description +tools/items_editor/cost = Price +tools/items_editor/cost_tip = Price in coins; trading and shops use it +tools/items_editor/sprite = Icon +tools/items_editor/sprite_tip = Picture in the mod's items/ folder: the inventory, trading and an item lying on an RPG map show it +tools/items_editor/type = Types +tools/items_editor/type_tip = Quest — a quest item, Used — can be used, TargetUsed — used on a character, Food, Resource, Recipe, CantDrop — cannot be dropped +tools/items_editor/action = Action +tools/items_editor/action_tip = What using it does; null — nothing. The action's parameters (heal, for example) are in "Other fields" diff --git a/locale/ui_ru.properties b/locale/ui_ru.properties new file mode 100644 index 0000000..9965d06 --- /dev/null +++ b/locale/ui_ru.properties @@ -0,0 +1,13 @@ +mod_items_editor_name = Редактор предметов +mod_items_editor_desc = Редактор предметов игры: список с поиском и картинками, название и описание на всех языках мода, цена, иконка, типы и действие при использовании; сохранение сразу видно в игре. +tools/items_editor/title = Предметы +tools/items_editor/name = Название +tools/items_editor/description = Описание +tools/items_editor/cost = Цена +tools/items_editor/cost_tip = Цена в монетах; ею пользуются торговля и магазины +tools/items_editor/sprite = Иконка +tools/items_editor/sprite_tip = Картинка из папки items/ мода: её показывают инвентарь, торговля и предмет на RPG-карте +tools/items_editor/type = Типы +tools/items_editor/type_tip = Quest — квестовый, Used — используется, TargetUsed — используется на персонаже, Food — еда, Resource — ресурс, Recipe — рецепт, CantDrop — нельзя выбросить +tools/items_editor/action = Действие +tools/items_editor/action_tip = Что происходит при использовании; null — ничего. Параметры действия (например heal) — в «Прочих полях» diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..0ce1741 --- /dev/null +++ b/manifest.json @@ -0,0 +1,24 @@ +{ + "id": "items_editor", + "name": "Item Editor", + "version": "1.0.0", + "author": "ct", + "description": "Editor of the game's items (items_base, \"Kind\": \"item\") in the style of the other editor windows: the items of a writable mod in a searchable list with their pictures, a form with the name and the description in every language of the mod, price, picture picked from the items folders, item types and the use action; fields of other mods stay editable as JSON. New items, copies, deletion, undo, and a save the running game sees at once. Opens from the main menu tools, the novel editor hub and the in-game toolbar.", + "category": "tools, editor", + "sources": [ + "src/**/*.cs" + ], + "depends": [ + "editor_tools>=1", + "items_base>=1", + "ui_base>=1" + ], + "test_suites": [ + { + "id": "edit", + "activate": [ + "--itest=items_editor_edit" + ] + } + ] +} diff --git a/mod.jpg b/mod.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cf7ef254b4cd4b1a92f7620b0545e8168be8de2a GIT binary patch literal 111568 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 K%@gmxh5rM(tdVp8 literal 0 HcmV?d00001 diff --git a/src/ItemEditorToolBoxButton.cs b/src/ItemEditorToolBoxButton.cs new file mode 100644 index 0000000..ae729c0 --- /dev/null +++ b/src/ItemEditorToolBoxButton.cs @@ -0,0 +1,20 @@ +using Cthangover.Core.UI.Tool; + +namespace Cthangover.Tools.ItemsEditor +{ + /// In-game toolbar button of the item editor, so an item can be fixed while playing. + public class ItemEditorToolBoxButton : IToolBoxButton + { + /// Matches . + public string ToolId => "items_editor"; + + /// No icon: the button shows its label. + public string IconPath => ""; + + /// Button label key. + public string LocaleKey => "tools/items_editor/title"; + + /// Always shown. + public bool IsVisible() => true; + } +} diff --git a/src/ItemEditorToolProvider.cs b/src/ItemEditorToolProvider.cs new file mode 100644 index 0000000..5047b1f --- /dev/null +++ b/src/ItemEditorToolProvider.cs @@ -0,0 +1,26 @@ +using Cthangover.Core.UI.Tool; +using Cthangover.Mods.Interface.Tool; +using Godot; + +namespace Cthangover.Tools.ItemsEditor +{ + /// + /// Registers the item editor as a tool: it appears in the main menu's tool + /// block, the novel editor hub and (with ) + /// the in-game toolbar. + /// + public class ItemEditorToolProvider : IToolProvider + { + /// Tool id. + public string Id => "items_editor"; + + /// Display name key. + public string LocaleKey => "tools/items_editor/title"; + + /// Creates the window. + public Window CreateWindow() => new ItemEditorWindow(); + + /// Adds the launcher button to the main menu's tool block. + public void AddMenuButton(Container container) => ToolMenuButton.Attach(container, this); + } +} diff --git a/src/ItemEditorWindow.cs b/src/ItemEditorWindow.cs new file mode 100644 index 0000000..425c2a4 --- /dev/null +++ b/src/ItemEditorWindow.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text.Json.Nodes; +using Cthangover.Core.Factories.Impls; +using Cthangover.Core.Items; +using Cthangover.Tools.EntityEditor; + +namespace Cthangover.Tools.ItemsEditor +{ + /// + /// Editor of items ("Kind": "item", ): name and + /// description in every language of the mod, price, picture in the + /// items group (the inventory icon), item types and the use action + /// offered from the actions the loaded mods register. Fields of other mods' + /// item C# (heal, verb…) are "other fields" of the base window. + /// New items go to items/<mod>.json. + /// + public partial class ItemEditorWindow : EntityEditorWindow + { + /// Builds the window and opens the first mod that has items. + public ItemEditorWindow() : base("tools/items_editor/title", "item", "items", Fields()) + { + } + + private static List Fields() => new() + { + new EntityField { Key = "Name", LabelKey = "tools/items_editor/name", Kind = EntityFieldKind.LocaleText, KeyPattern = "items/{0}/name" }, + new EntityField { Key = "Description", LabelKey = "tools/items_editor/description", Kind = EntityFieldKind.LocaleText, KeyPattern = "items/{0}/desc" }, + new EntityField { Key = "Cost", LabelKey = "tools/items_editor/cost", TooltipKey = "tools/items_editor/cost_tip", Kind = EntityFieldKind.Integer }, + new EntityField { Key = "Sprite", LabelKey = "tools/items_editor/sprite", TooltipKey = "tools/items_editor/sprite_tip", Kind = EntityFieldKind.Picture, Group = "items" }, + new EntityField { Key = "ItemType", LabelKey = "tools/items_editor/type", TooltipKey = "tools/items_editor/type_tip", Kind = EntityFieldKind.Flags, Options = ItemTypes }, + new EntityField { Key = "ItemAction", LabelKey = "tools/items_editor/action", TooltipKey = "tools/items_editor/action_tip", Kind = EntityFieldKind.Choice, Options = Actions } + }; + + private static IEnumerable ItemTypes() => Enum.GetNames(typeof(ItemType)).Where(n => n != nameof(ItemType.None)); + + private static IEnumerable Actions() => new[] { "null" }.Concat(ItemActionFactory.Instance.Ids.OrderBy(id => id, StringComparer.Ordinal)); + + /// A resource worth one coin with no use action; the picture is the author's to pick. + protected override JsonObject CreateEntity(string id) => new() + { + ["Id"] = id, + ["Cost"] = 1, + ["ItemType"] = nameof(ItemType.Resource), + ["ItemAction"] = "null" + }; + + /// <mod>/new_item, the folder-style ids items use. + protected override string NewIdBase(string mod) => mod + "/new_item"; + } +} diff --git a/test_suites/edit/manifest.json b/test_suites/edit/manifest.json new file mode 100644 index 0000000..eed60fa --- /dev/null +++ b/test_suites/edit/manifest.json @@ -0,0 +1,10 @@ +{ + "name": "Item Editor Test", + "description": "GUI test of the item editor in rpg_demo: opens rpg_demo_game's items, shows a demo item's localized name, adds an item with the New button, types its name, price and a type into the form, copies it and undoes the copy with Ctrl+Z, saves; the game must know the item and its name at once and the other item files stay unchanged. The new file and the locale edits are removed again. Activated by --itest=items_editor_edit with --game=rpg_demo --new.", + "sources": [ + "src/*.cs" + ], + "depends": [ + "rpg_demo_game>=1" + ] +} diff --git a/test_suites/edit/src/ItemEditorTestDriver.cs b/test_suites/edit/src/ItemEditorTestDriver.cs new file mode 100644 index 0000000..245bef2 --- /dev/null +++ b/test_suites/edit/src/ItemEditorTestDriver.cs @@ -0,0 +1,202 @@ +using System.Collections.Generic; +using System.IO; +using System.Linq; +using Cthangover.Core.Bootstrap; +using Cthangover.Core.Items; +using Cthangover.Core.Localization; +using Cthangover.Core.Mods; +using Cthangover.Core.Mods.Resolvers; +using Cthangover.Core.Utils; +using Cthangover.Mods.Interface.Tool; +using Cthangover.Tools.Services; +using Godot; + +namespace Cthangover.Tools.ItemsEditor.Tests +{ + /// + /// Drives the item editor like an author: the toolbar buttons, the form's + /// fields (their change signals), Ctrl+Z into the window, Save. Then the game + /// itself is asked: the entity cache must hold the new item with the typed + /// price and type, and the translation server its typed name. The new items + /// file is deleted and the mod's locale files are restored afterwards, so + /// rpg_demo_game stays as it was. + /// Result line: [TEST_RESULT] name=items_editor_edit passed=N failed=M. + /// + public partial class ItemEditorTestDriver : Node + { + private const float TickSeconds = 0.15f; + private const float TimeoutSeconds = 60f; + private const string Mod = "rpg_demo_game"; + private const string NewFile = "items/rpg_demo_game.json"; + private const string NewId = "rpg_demo_game/new_item"; + private const string TypedName = "Тестовый амулет"; + + private readonly List failures = new(); + private readonly Dictionary backups = new(); + private readonly Dictionary itemFiles = new(); + private int passed; + private int step; + private double elapsed; + private ItemEditorWindow window; + + /// Creates the driver; is unused (no screenshots). + public ItemEditorTestDriver(string shotsDir) + { + Name = "ItemEditorTestDriver"; + var timer = new Timer { WaitTime = TickSeconds, Autostart = true }; + AddChild(timer); + timer.Timeout += Tick; + } + + private void Tick() + { + if (step < 0) + return; + elapsed += TickSeconds; + if (elapsed > TimeoutSeconds) + { + Fail($"timeout at step {step}"); + Finish(); + return; + } + try + { + RunStep(); + } + catch (System.Exception ex) + { + Fail($"step {step}: {ex.GetType().Name}: {ex.Message}"); + Finish(); + } + } + + private void RunStep() + { + switch (step) + { + case 0: + if (!Boot.IsReady) + return; + foreach (var file in ModFileService.ListFiles(Mod, "locale", ".properties")) + backups[file] = ModFileService.ReadText(Mod, file); + foreach (var file in ModFileService.ListFiles(Mod, "items", ".json")) + itemFiles[file] = ModFileService.ReadText(Mod, file); + Check(!itemFiles.ContainsKey(NewFile), "the mod has no editor items file yet"); + window = ToolWindow.Open(); + step++; + return; + case 1: + if (window.Document == null) + return; + window.OpenMod(Mod); + var language = Language(); + var branches = window.Document.Find("rpg_demo/branches"); + Check(branches != null, "the demo's items are listed"); + window.Select(branches); + Check(window.Document.GetText(language, "rpg_demo/item/branches/name") == TranslationServer.Translate("rpg_demo/item/branches/name").ToString(), + $"the form shows the item's name in '{language}'"); + + Press("tools/entity_editor/new"); + Check(window.SelectedId == NewId, $"New adds and selects {NewId} (got {window.SelectedId})"); + Type(NameEdit(), TypedName); + var cost = window.FindChildren("*", "", true, false).OfType().First(); + cost.Value = 7; + var food = window.FindChildren("*", "", true, false).OfType().First(c => c.Text == nameof(ItemType.Food)); + food.ButtonPressed = true; + var record = window.Document.Find(NewId); + Check(record.Data["Cost"]?.ToString() == "7" && record.Data["ItemType"]?.ToString().Split(',').OrderBy(t => t).SequenceEqual(new[] { "Food", "Resource" }) == true, "the form writes price and types"); + + Press("tools/entity_editor/duplicate"); + Check(window.Document.Find(NewId + "_2") != null, "Copy adds a copy under a free id"); + window.PushInput(new InputEventKey { Keycode = Key.Z, PhysicalKeycode = Key.Z, CtrlPressed = true, Pressed = true }); + Check(window.Document.Find(NewId + "_2") == null && window.Document.Find(NewId) != null, "Ctrl+Z takes the copy back"); + step++; + return; + case 2: + try + { + Press("tools/common/save"); + var items = Entities.Collect(); + Check(items.TryGetValue(NewId, out var saved), "the game knows the new item right after saving"); + Check(saved?.Cost == 7 && saved.ItemType.HasFlag(ItemType.Food) && saved.ItemType.HasFlag(ItemType.Resource), "with the typed price and types"); + Check(TranslationServer.Translate(saved?.Name ?? "-").ToString() == TypedName, $"and the typed name ({saved?.Name})"); + var written = ModFileService.ReadText(Mod, NewFile) ?? string.Empty; + Check(written.Contains("\"Kind\": \"item\"") && !written.Contains("\r") && written.Contains(TypedName) == false, "the new file declares its kind, has LF lines and no texts"); + Check(itemFiles.All(f => ModFileService.ReadText(Mod, f.Key) == f.Value), "the demo's item files are untouched"); + } + finally + { + Cleanup(); + } + Finish(); + return; + } + } + + private static string Language() => LanguageCode.Normalize(TranslationServer.GetLocale()) ?? "ru"; + + /// The first text row of the current language: the name (the first locale field). + private LineEdit NameEdit() + { + var label = string.Format(TranslationServer.Translate("tools/entity_editor/text_in"), Language()); + return window.FindChildren("*", "", true, false).OfType