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

Структура компонента

В своей основе компонент — это JSON-объект, содержащий стандартные функциональные экспорты, которые имел бы плагин: имя, размер, количество светодиодов и т. д.

Эти файлы берутся из одной из двух директорий. Встроенные хранятся по адресу:

C:\Users\[YOUR USERNAME]\AppData\Local\VortxEngine\app-[CURRENT VERSION]\Signal-x64\Components

Пользовательские файлы должны храниться в пользовательской директории. По умолчанию это документы пользователя:

C:\Users\[YOUR USERNAME]\Documents\WhirlwindFX\Components

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

JSON-структура

Ниже приведён пример кресла «Vertagear» в виде набора компонентов Kit, выраженного как компонент со всеми необходимыми атрибутами.

  • Примечание: Типичные ошибки и предупреждения при загрузке этих файлов будут выводиться в журналы отладки.
{
"ProductName": "VertaGear PL4500 RGB Top Kit (Chair Back)",
"DisplayName": "VertaGear PL4500 RGB Top Kit (Chair Back) - 5 Zone",
"Brand" : "Vertagear",
"Type" : "Chair",
"LedCount" : 5,
"Width": 5,
"Height": 5,
"LedMapping" : [
0,1,2,3,4
],
"LedCoordinates" : [
[0,0], [0,1], [1,0], [2,0], [2,1]
],
"LedNames" : [
"Back Side - Top","Back Side - Bottom","Center Acrylic","Front Side - Top", "Front Side - Bottom"
],
"ImageUrl": ""
}
ПараметрОписаниеТипПример
ProductNameProductName, используемый для постоянного хранения как имени компонентаStringCorsair LL Fan
BrandСтрока, представляющая бренд компонента для фильтрацииStringCorsair
TypeСтрока, представляющая тип компонента для фильтрацииStringFan
LedCountЦелое число, представляющее общее количество светодиодов компонентаInt16
WidthЦелое число, представляющее ширину пиксельного буфера компонентаInt5
HeightЦелое число, представляющее высоту пиксельного буфера компонентаInt5
LedMappingМассив, содержащий порядок, в котором должна возвращаться цветовая информация светодиодовОдномерный массив[0,1,2]
LedCoordinatesМассив, содержащий позиции [X,Y] всех светодиодовДвумерный массив[[0,0],[0,1]]
LedNamesМассив, содержащий имя каждого светодиодаОдномерный массив[“Led 1”,“Led 2”]
ImageUrlСтрока URL изображения, используемого как миниатюра компонентаString