Система сущностей (Entities) в Cloud — атрибуты и валидация конфигов (часть 2)В первой части я рассказал про шаблоны, конфиги и типы данных. Но схема сама по себе не защищает от ошибок. Геймдизайнер может вписать урон -100, забыть обязательное поле, превысить лимит. Проверять это вручную — боль.
Для этого у нас есть система атрибутов — правила валидации и настройки отображения прямо в схеме.
Атрибуты назначаются на поля шаблона и делятся на две категории:
ВалидацияОграничивают допустимые значения полей. Если данные не проходят проверку — сохранить конфиг не получится.
✔️ Range — диапазон значений (мин/макс)
✔️ Required — обязательное поле
✔️ MinLength / MaxLength — ограничение длины строки или массива
✔️ Pattern — проверка по регулярному выражению
✔️ MinItems / MaxItems — количество элементов в массиве
✔️ UniqueItems — все элементы массива должны быть уникальными
✔️ MultipleOf — число должно быть кратным заданному значению
✔️ LockShape — запрет добавления и удаления элементов массива
Пример: поле «урон» — Range от 1 до 9999. Поле «название» — Required + MaxLength 64. Теперь при заполнении конфига невозможно ввести не валидные данные.
UIНастраивают отображение полей в редакторе, делая его понятным и удобным.
✔️ Header — заголовок секции над полем
✔️ Tooltip — всплывающая подсказка
✔️ Placeholder — текст-заглушка в пустом поле
✔️ Readonly — поле нельзя редактировать
✔️ Multiline — многострочный ввод для текста
✔️ CardIcon — пометить картинку как иконку карточки
В итоге геймдизайнер работает с понятным редактором — и физически не может сохранить невалидные данные.
💬 Если есть вопросы по функционалу — пишите в комментарии, буду рад ответить.
А также
подписывайся на нашего тг бота — там будут приходить новости по продуктам хаба 😎
❗️
Продукт еще в разработкеP.S Дизайн на скриншотах пока тестовый — будет ещё дорабатываться.
PP.S Название сервиса тестовое, если у вас идеи как понятнее его назвать, пишите в комментарии
#cloud #game_backend