Настройка связи между элементами, чтобы документ не разваливался

Опять из-за изменений сломалась логика? Рассказываем, как один раз настроить связи и больше не беспокоиться

Проблема: переименованный персонаж оставляет устаревшие следы

Вчера мы навели порядок: враги и способности типизированы, сделаны шаблонами, и добавить нового - просто заполнить форму

Сегодня вы решаете, что имя Хлоя устарело. Она меняет роль, поэтому вы переименовываете её в Хана. Легко - одно изменение в дереве проекта.

Но Хлоя могла упоминаться ещё в десяти местах. В описании её способности, в заголовке колонки коллекции и т.д.. Ни одно из них не обновится при переименовании, потому что каждое хранит имя как статичную строку.

Теперь из-за одной мелочи, у вас устаревший документ и кривая таблица. И чем больше проект, тем больше сломанных связей оставляет одно переименование

Решение нашей проблемы - через связи между объектами

Надёжный способ связать элементы дизайна - ссылка (reference): связь, которая указывает на сам элемент, а не на обычный заголовок текст. Ссылка хранит стабильный ID элемента, а не его заголовок. Поэтому когда вы переименовываете Хлоя в Хана, каждая ссылка, ведущая на неё, тут же показывает Хана, без поиска, без правок.

Связываем Хлою с её способностями

Ранее вы создали Выстрел из огнетушителя - как одну из способностей. В IMS Creators самый быстрый способ связать один элемент с другим внутри документа - тип поля Выбор элемента, выберите целевой элемент и поле становится ссылкой на него. У Хана добавьте поле Способность типа Выбор элемента и выберите Выстрел из огнетушителя.

Теперь Хлоя и залп связаны, не строкой, а ID того элемента. То же самое можно сделать со стороны способности: откройте Выстрел из огнетушителя, добавьте поле Используется кем типа Выбор элемента и укажите Хана. Две ссылки описывают одну связь с двух сторон.

Свяжите каждого выжившего с его набором способностей, разрозненные списки персонажей и способностей начнут поддерживать связь между собой.

Как просмотреть выстроенные связи

Выстроить связи - половина дела. Вторая половина - отслеживать их. Откройте Хану, нажмите правой кнопкой и выберите Показать связи.

Откроется граф связей - Хана в центре, а элементы, на которые она ссылается (способности, предмет), расходятся вокруг, вместе со всем, что указывает на неё. Клик по любому узлу - и граф концентрируется на нём. Каждое ребро подписано типом связи: наследование от базового объекта, ссылка или упоминание.

Названия можно менять - ссылки не полетят, а упоминания не превратятся в пустышки

Важно:

Объекты остаются согласованными Переименуйте Выстрел из огнетушителя в Взрыв пенной пушки. Каждый персонаж, предмет и документ, ссылавшийся на него, теперь показывает новое имя. Удалили объект - его следы упоминания также пропали Когда элемент удаляется, ссылки на него подчищаются вместе с ним, а не оставляют мёртвые упоминания по всему документу.

Что дальше: структуры и перечисления

Связи соединяют элементы, но значения внутри них - это всё ещё обычный текст. Завтра мы исправим это с помощью структур и перечислений - переиспользуемых форм и списков фиксированных значений, которые не дадут похожим значениям конлфиктовать друг с другом


FAQ

Что такое ссылка на элемент в игровом дизайне?

Ссылка на элемент - это связь от одного элемента к другому, которая указывает на постоянный ID, а не на её имя. Когда объект переименовывается или редактируется, каждая ссылка на неё обновляется автоматически, и документ остаётся согласованным без ручных правок.

Как связать один элемент с другим в IMS Creators?

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

Где посмотреть все связи в проекте?

Откройте меню элемента и выберите Показать связи. Откроется граф связей: элемент в центре, всё, на что он ссылается, и всё, что указывает на него. Клик по узлу концентрирует граф на нём.

Сломает ли переименование элемента мои связи?

Нет. Ссылки хранят ID элемента, а не имя, поэтому переименование автоматически обновляет все места, где на элемент ссылаются. Отображаемые заголовки подставляются сразу же.

Что происходит со ссылками при удалении элемента?

Когда элемент удаляется, ссылки, указывавшие на него, удаляются вместе с ним, поэтому у вас не остаются ссылки на уже не существующие элементы.

Это то же самое, что упоминание элемента?

Нет. Ссылка - это явная структурированная связь между элементами. Упоминание - более простая связь, возникающая, когда на элемент указывают внутри текстового блока или поля, граф связей показывает и то и другое, так что в одном окне видно и явные ссылки, и попутные упоминания.

Назад к блогу