Перейти к содержимому
Поиск

Blueprint Developer API

Авторы Editor Utility Blueprint и Editor Utility Widget должны использовать отобранные асинхронные узлы Locus. Отражённые объекты запросов нижнего уровня — общая инфраструктура для Python, а не обычный рабочий процесс Blueprint.

Ищите узлы в палитре Blueprint в разделах Locus > Notes, Locus > Documents и Locus > Pins.

Категория Узлы
Locus > Notes List Locus Notes, Get Locus Note, Search Locus Notes, Create Locus Note, Update Locus Note, Archive Locus Note
Locus > Documents List Locus Documents, Get Locus Document, Search Locus Documents, Create Locus Document, Update Locus Document
Locus > Pins List Locus Pins, Get Locus Pin, Create Locus Pin, Update Locus Pin Metadata, Add Locus Pin Comment

Каждый узел предоставляет конечные выходы выполнения Succeeded и Failed. У узла намеренно нет немедленного пути завершения, который можно принять за асинхронный результат.

Оба результата предоставляют:

  • типизированный Result;
  • состояние операции Operation Status, нейтральное к поставщику;
  • типизированную Error.

При ошибке переходите по Error > Code, а не разбирайте Message. Открытый прокси Async Action предоставляет кооперативный Cancel для работы, которая ещё не началась. Отмена не прерывает изменение, которое уже фиксируется.

Добавьте Create Locus Document и укажите:

  • Path: путь относительно выбранного видимого корня, например Design/Combat.md;
  • Markdown: исходный текст, например # Combat;
  • Presentation Root: Locus Documents или Content Browser.

Используйте Identity > Relative Path результата Succeeded как авторитетную идентичность документа. Не подменяйте её путём представления или контекстом /Game/....

  1. Используйте Get Locus Note и сохраните выходы Identity и Revision.
  2. Создайте структуру Locus Developer Note Changes.
  3. Установите только флаги намерения Set ... для полей, которые хотите изменить.
  4. Вызовите Update Locus Note с Identity, прочитанной ревизией как Expected Revision и Changes.
  5. Следуйте Succeeded или проверьте Failed > Error > Code. При Stale Revision снова получите заметку и пересмотрите изменение.

Структура изменений различает отсутствие изменения, установку и очистку:

Значения Значение
Set Title = false Оставить Title без изменения; значение Title игнорируется
Set Title = true, Title = "New Title" Установить непустой заголовок
Set Title = true, Title = "" Явно запросить пустой заголовок с учётом проверки домена

Та же схема применяется к тексту заметки, тегам и состоянию. После успеха используйте новую ревизию результата для следующего изменения.

Изменения метаданных метки используют Set Title, Set Description, Set Pin Type и Set Tags с теми же правилами намерения. Update Locus Pin Metadata сохраняет мир, положение, якорь, вид и область метки.

Create Locus Pin принимает явную область, путь ассета сохранённого мира, положение в мировом пространстве и заголовок. Дополнительные входы включают метку мира, описание, тип метки и теги. Путь мира должен указывать поддерживаемый сохранённый принадлежащий проекту мир, например /Game/Maps/Main.Main.

Blueprint может перечислять и получать метки, создавать безопасную базовую метку, обновлять метаданные и добавлять комментарии. Developer API не предоставляет перемещение метки или произвольную замену якоря.

См. Обзор Developer API с ревизиями, типизированными ошибками, состоянием операции, областью и полной матрицей возможностей.