- Документация
- Locus
- Blueprint Developer API
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/....
Обновление заметки с защитой ревизии
Заголовок раздела «Обновление заметки с защитой ревизии»- Используйте Get Locus Note и сохраните выходы Identity и Revision.
- Создайте структуру Locus Developer Note Changes.
- Установите только флаги намерения
Set ...для полей, которые хотите изменить. - Вызовите Update Locus Note с Identity, прочитанной ревизией как Expected Revision и Changes.
- Следуйте 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 с ревизиями, типизированными ошибками, состоянием операции, областью и полной матрицей возможностей.