Доброго времени суток, это очередная статья по редактору карт StarCraft 2, сегодня разберёмся с относительно "новым" Каталогом данных как "наборы данных" (Далее дата коллекции) И "паттерны наборов данных".

Что это и для чего нужны дата коллекции?

По началу может быть не совсем понятно, но потом как придет осознание, просто удивитесь и насладитесь ими.
Наборы данных (Data collection)
Это совокупность разнородных, но взаимосвязанных структур данных, объединённых в единый объект. Этот объект функционирует как целостная система, обеспечивая доступ к своим внутренним компонентам и их взаимодействие на уровне единого комплексного объекта.
Дата коллекции были добавлены в обновлении 5.0, вышедшим 27 июля 2020 года.
Они добавляют новый подход к разработке структуры данных для вашей карты, и можно сказать делают его слегка похожим на варкрафт

Для чего нужны они?

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

Например:

Есть у нас значит способность "Стимулятор". Эта способность вызывает эффект "stimpack - apply behavior", который накладывает Behavior "Stim (buff)".
Получается такая структура
Stimpack
    Apply behavior
        Stim (buff) 
Кроме того есть ещё акторы, которые визуализируют этот бафф, а также проигрывают звук от срабатывания эффекта и накладывания баффа.
И для настройки баффа придётся лезьть в сам бехавиор, а для стоимости абилки нужно лезьть в абилку, а для смены модельки получения надо лезьть в связанную с актором модель стимулятора. Всё в разных местах, не удобно как-то.
Дата коллекции позволят свернуть все эти объекты стимулятора в один, и даст возможность редактирования конкретных свойств со всей этой структуры данных (то есть в одном месте можно задать стоимость способности, модификатор баффа, модельку получения/потери баффа, звуки.

Кроме того

Вы можете копировать коллекцию с помощью Ctrl C - Ctrl V и все записи скопированной коллекции будут также скопированы.

Пример

У вас уже есть коллекция со способностью "стимулятор" Созданная для морпехов. Но вам потребовалось добавить немного изменённую способность для мародёров (стоимость вместо 10 ед. здоровья, нужно 20 ед. И множитель баффа изменить надо)
То вы можете выделить коллекцию стимулятора морпеха, нажать Ctrl C - Ctrl V и у вас скопируется и способность, и бафф, и эффекты, и акторы.
Вам останется лишь подредактировать нужные поля и дать мародёру новую способность

Как использовать коллекции данных?

Сперва я настоятельно рекомендую в file - Configure Control назначить горячую клавишу на функцию, DataRecordAutoFill, я назначил на Shift B.
Теперь можно начинать работать с коллекциями.

Шаг 1

Первым шагом, является создание коллекции данных в разделе "+" - Edit Game Data - Data Collection. Создание точно такое же, как и любых других данных
Поле ID самая важная часть коллекции. С помощью него данные и будут связываться с коллекцией данных

Шаг 2

Следующим шагом, нужно создать необходимые данные. Здесь всё как обычно. Переходим в нужный раздел, например "Abilities", добавляем новую способность, именуем способность и... Самое главное:
В ID объекта, сперва должен быть прописан ID Коллекции данных. Допускается
  • Точно такое же ID как у коллекции данных
  • ID коллекции данных с индивидуальным ID объекта между которыми будет разделитель "@", но обязательно сначала должен быть ID коллекции данных
То есть если есть Коллекция данных с ID Stimpack, То можно просто создать способность с ID Stimpack, эффект Apply behavior - stim с ID Stimpack, а также сам бехавиор с ID Stimpack. То тогда все эти объекты автоматически свяжутся с Коллекцией данных Stimpack. Мало того, но так даже не просто все элементы добавятся в Коллекцию данных, но и сами свяжутся друг с другом
После создания всех необходимых данных, можно переходить к следующему шагу

Шаг 3

Вернитесь к коллекции данных, выделите её и нажмите горячую клавиши автозаполнения коллекции данных, которую в ранее назначили.
Если вы всё сделали правильно, задали подходящие ID для объектов в формате DataCollectionID@ObjectID или DataCollectionID, то у вас коллекция данных должны была автоматически заполнится после нажатия Shift B.

Паттерны коллекций

Сейчас если вы попробуйте включить Упрощенный режим, то обнаружите что никаких полей в таблице не будет. Всё потому, что все выводимые поля для Коллекции данных в упрощенном режиме, должны быть описаны в паттерне коллекции данных (Data Collection Pattern).
Перейдите в раздел "+" - Edit Game Data - Data Collection Pattern и создайте новый паттерн
В паттерне самое важное поле, это Fields. В нём задаются поля, которые должны быть выведены в коллекцию данных при включенном Упрощенном режиме.
В Fields есть несколько полей, таких как:
  • Name Override - Перезаписанное название поля
  • Reference - Ссылка на поле данных. Заполняется по такому шаблону Unit,^ParamId^,LifeMax, где Unit - это Каталог данных, ^ParamId^ - идентификатор текущей коллекции данных (Если паттерн вставлен в Коллекцию данных stimpack, то ^ParamId^ будет как stimpack), LifeMax - Поле найденного по ID объекта.
  • User Data - Неизвестно, Blizzard не рассказывали ничего про это поле, предположительно, это связано с типом эффекта User Data, Который является "Памятью" для текущего срабатывания дерева эффектов.
СОВЕТ: Получить ссылку на поле можно, нажав правой кнопкой по необходимому полю в данных объекта и выбрать пункт Copy Data Reference Ctrl Shift Alt R
`
ОЖИДАНИЕ РЕКЛАМЫ...