Skip to content

About

Удобные инструменты для создания и редактирования рецептов крафта в Unity с поддержкой автодополнения, поиска по локализованным названиям и гибкой конфигурацией под любую структуру данных.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

Repository files navigation

CraftRecipe Editor Tools

Unity Editor-скрипты для удобного редактирования рецептов крафта с автодополнением и локализацией.

Файлы для установки

Файл Куда скопировать Описание
CraftRecipeDrawer.cs Assets/Editor/ Property Drawer с автодополнением и поддержкой локализации
CraftRecipeConfig.cs Assets/Editor/ Конфиг настроек (единый asset на проект)
ItemCraft.cs Любая папка в Assets/ Runtime ScriptableObject со списком рецептов

Папка Editor обязательна — скрипты в ней не попадают в билд.


Установка

  1. Скопируй CraftRecipeDrawer.cs и CraftRecipeConfig.cs в Assets/Editor/
  2. Скопируй ItemCraft.cs в удобную папку (например Assets/Inventory/)
  3. Создай конфиг: Assets → Create → Editor Config → Craft Recipe Config
  4. Настрой конфиг под свой проект (см. ниже)
  5. Создай рецепты: Assets → Create → Scriptable Objects → ItemCraft

Требования

  • Unity 2021.3+
  • Класс ItemStatsDatabase : ScriptableObject с полем List<ItemData> items
  • Каждый ItemData должен иметь string itemNameKey
  • (Опционально) CSV-файл локализации с колонками Lang Code, EN, RU (разделитель — TAB)
  • Translation system / I18N Plugin / Languages Unity asset

Настройки конфига (CraftRecipeConfig)

Локализация

Поле По умолчанию Описание
Lang File Path Honeti/I18N/Data/langFile.csv Путь к CSV переводов относительно Assets/
Search Language Column RU Столбец языка поиска в CSV (RU, EN, ...)

База предметов

Поле Описание
Default Database ItemStatsDatabase, который подставляется автоматически в новые рецепты

Возможности (Feature Toggles)

Поле Описание
Use Localization Включить поиск по локализованным названиям. Если false — показывает обычное текстовое поле
Show Database Per Recipe Показывать поле Database в каждом рецепте/ингредиенте. Если false — используется Default Database автоматически
Auto Assign Database Авто-подставлять Default Database при открытии ItemCraft asset'а

Имена полей

Менять только если переименовали поля в CraftRecipe / Ingredient без обновления скриптов.


Формат CSV локализации

Lang Code	EN	RU
^sword_name	Sword	Меч

Разделитель — TAB (\t). Первая строка — заголовки. Ключи начинаются на ^.


Пример использования в коде

// Получить данные результата рецепта
ItemData result = recipe.GetResult();

// Получить данные ингредиента
ItemData ingredient = ing.GetItem();

Адаптация под свой проект

  1. Другой класс предметов вместо ItemStatsDatabase — обнови имена полей в конфиге и убедись что класс имеет List<ItemData> items с itemNameKey.
  2. Другой язык поиска — смени Search Language Column на нужный столбец.
  3. Без локализации — выключи Use Localization в конфиге.
  4. Одна база на весь проект — выключи Show Database Per Recipe и укажи Default Database.
  5. Переименованные поля — обнови строки в секции "Имена полей" конфига.

About

Удобные инструменты для создания и редактирования рецептов крафта в Unity с поддержкой автодополнения, поиска по локализованным названиям и гибкой конфигурацией под любую структуру данных.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages