Как стать автором
Обновить

Вышло крупное обновление Charon / 2025.1.1

Время на прочтение5 мин
Количество просмотров893

Что это такое

Charon заменяет традиционные таблицы или конфигурационные файлы внутриигровой базой данных, предлагая структурированный и эффективный способ управления игровыми данными. Это позволяет разработчикам сосредоточиться на создании увлекательного игрового процесса, не беспокоясь о технических аспектах управления данными.

Аналогом являются Articy Draft или CastleDB.

Миграция с .NET Framework/Mono на .NET Core

Миграция на современную версию платформы .NET упрощает установку CLI-версии инструмента одной командой:

dotnet tool install dotnet-charon --local --create-manifest-if-needed

Теперь требования к предустановленному программному обеспечению одинаковы для всех платформ: требуется только .NET 8 или новее.

Критические изменения

В процессе миграции на новую версию .NET были выявлены и исправлены некорректное поведение в некоторых командах. Эти изменения являются "ломающими". Ниже приведены основные изменения:

Экспорт

Функциональность экспорта ранее выдавала непредсказуемые результаты. Список схем, возвращаемых при экспорте, мог случайным образом включать больше или меньше схем, чем запрашивалось.
Это поведение исправлено. Теперь возвращаются только те схемы, которые явно указаны в параметрах. Кроме того, структура возвращаемых данных теперь четко определена и согласована для похожих команд.

XML

Формат экспорта и импорта данных XML полностью удален из-за отсутствия использования и сложности поддержки.
Если вы полагались на XML, вам потребуется использовать дополнительные инструменты для конвертации между форматами JSON и XML.

CLI: GENERATE TEXT

Команда GENERATE TEXT полностью удалена. Эта функциональность теперь полностью поддерживается открытым инструментом dotnet-t4, который предоставляет надежное и поддерживаемое решение для генерации текста.

Новые функции

Идентификаторы языков в интерфейсе

Теперь вы можете выбирать языки локализации не только по их названию, но и по идентификатору.

Скрытие схемы в меню

Любую схему теперь можно скрыть из бокового меню.
В расширенных настройках редактора схем добавлено новое поле для управления видимостью схемы в боковом меню.

Кнопки "Вперед/Назад"

Новые кнопки Вперед/Назад позволяют переходить между документами в текущей коллекции прямо из формы редактирования.
Эти кнопки учитывают контекст. Например, если вы просматриваете отфильтрованную коллекцию документов, они будут переключаться между документами в рамках этой отфильтрованной коллекции.

Настройка макета (Layout) формы

Добавлена возможность настраивать расположение полей на форме вашей схемы.
Теперь вы можете группировать поля, схожие по смыслу, или переставлять их по своему усмотрению.
Редактор макета полей доступен при редактировании схемы. В правом нижнем углу находится переключатель режимов просмотра с меткой Layout.

Интерфейс с редактором макета
Интерфейс с редактором макета

Переключатели "Form/Layout/JSON"

Теперь вы можете удобно переключаться между режимами просмотра в форме редактирования документа с помощью кнопок Form, Layout и JSON.

Подсказки для типа формулы

При настройке типа данных Формула (Formula) подсказки теперь отображают имена классов непосредственно из редактора Unity.
Если Charon не запущен из редактора Unity, подсказки будут включать только базовый набор классов .NET, поддерживаемых на всех платформах.

Интерфейс с подсказками для типа формулы
Интерфейс с подсказками для типа формулы

Туториал

Добавлен небольшой туториал для упрощения процесса адаптации новых пользователей.
Обучение можно полностью пропустить одним кликом, что делает его необязательным для опытных пользователей или тех, кто предпочитает не проходить его.

Обновление плагина для Unity

Установите его через OpenUPM

Плагин для Unity был переписан с использованием современного C#. Устаревший асинхронный API, основанный на Promise и Coroutine, был заменен на Task.
Класс CharonCli, который критически важен для автоматизации, был тщательно документирован и расширен для полной поддержки всех CLI-команд инструмента.
Кроме того, добавлен метод CharonCli.RunT4Async для упрощения обработки пользовательских T4-шаблонов непосредственно из Unity.

Редактор Unity: Создание игровых данных

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

Интерфейс с окном создания игровых данных
Интерфейс с окном создания игровых данных

Основной ассет

Концепция ассетов игровых данных была переработана. Теперь .asset-файл, основанный на ScriptableObject, является центральным ассетом, с которым вы будете работать.
С этими изменениями вы можете свободно размещать JSON-файлы с игровыми данными и кодом в любом каталоге (при условии, что код находится в пределах области asmdef).

Кнопка синхронизации

Кнопка Генерация исходного кода (Generate Source Code) была переименована в Синхронизировать (Synchronize) и теперь выполняет следующие действия:

  • Генерирует исходный код.

  • Загружает последнюю версию игровых данных из сети (если применимо).

  • Публикует игровые данные в оптимизированный временный файл.

  • Импортирует игровые данные из временного файла в Unity-ассет .asset.

Окно инспектора основного ассета в Unity
Окно инспектора основного ассета в Unity

Ссылки на игровые данные из сцен

Использование ассетов ScriptableObject позволяет удобно ссылаться на игровые данные из сцен с помощью нового класса GameDataDocumentReference.

GameDataDocumentReference в инспекторе
GameDataDocumentReference в инспекторе

Более тесная интеграция с Charon

Эта версия плагина обеспечивает еще более тесную интеграцию с редактором Charon, работающим в веб-браузере.
Теперь вы можете запускать генерацию исходного кода и публикацию игровых данных прямо из браузера, даже в онлайн-версии.

Кнопки "Опубликовать/Сгенерировать код" в интерфейсе
Кнопки "Опубликовать/Сгенерировать код" в интерфейсе

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

Распространение через Unity Package Manager

Новая версия плагина редактора будет распространяться как пакет. Функциональность обновления полностью переведена на Unity Package Manager. Пакет публикуется и обновляется на OpenUPM.

Миграция со старого плагина

Вы можете обновиться с Unity Asset Store или вручную, используя инструкции по установке пакета через OpenUPM.
Обратите внимание, что автоматическое обновление со старой версии не поддерживается, так как это требует осознанного решения и некоторых изменений в коде.

При установке нового пакета поверх старого плагина вам будет предложено удалить старый плагин и повторно импортировать данные. Автоматический мигратор должен справиться с большинством сценариев миграции.

Окно миграции в Unity
Окно миграции в Unity

Обновление плагина для Unreal Engine

Плагин для Unreal Engine будет обновлен для достижения полной функциональной совместимости с его аналогом для Unity в ближайшие недели. Следите за объявлениями.

Обновления документации

Теги:
Хабы:
Всего голосов 1: ↑1 и ↓0+1
Комментарии3

Публикации

Работа

Ближайшие события