Lewati ke konten

Component Functions

Fungsi-fungsi ini digunakan untuk menyiapkan perangkat agar kompatibel dengan Component System.

Fungsi ini mengambil nilai int dan menetapkan batas LED atas untuk semua Channel component pada perangkat. Ini digunakan untuk pemeriksaan keamanan di backend dan untuk mencegah pengguna membebani perangkat mereka dengan lebih banyak pengambilan daya dari yang dapat ditanganinya. Ini harus diatur ke nilai maksimum yang sama yang dibatasi oleh perusahaan pembuatnya.

ParameterDeskripsiTipeContoh
LedLimitBatas LED yang diinginkan untuk semua channel pada perangkatInt80
const DeviceMaxLedLimit = 233;
device.SetLedLimit(DeviceMaxLedLimit);

Fungsi ini akan mengembalikan jumlah LED gabungan saat ini dari semua component di semua channel perangkat. Kegunaan utamanya adalah untuk memeriksa apakah ada component yang dipilih karena 0 LED sama dengan 0 Component.

ReturnDeskripsiTipeContoh
LedCountJumlah LED saat ini dari semua channelInt64
let ColorData = []
if(LightingMode == "Forced"){
// do stuff
}else if(device.getLedCount() == 0){
// do stuff
}else{
// do stuff
}

Fungsi ini akan menambahkan Component Channel baru ke perangkat. Ketika channel pertama ditambahkan, UI Konfigurasi Component akan muncul di halaman perangkat. Fungsi ini mengambil LedLimit yang opsional tetapi direkomendasikan untuk memperingatkan pengguna tentang melebihi batas LED aman perangkat. Batas ini digunakan di beberapa tempat sehingga sangat disarankan untuk mengaturnya.

ParameterDeskripsiTipeContoh
ChannelNameChannelName yang akan digunakan untuk mereferensikan channel iniString”Channel 1”
LedLimitBatas LED pengoperasian Channel yang aman.Int204
//Channel Name, Led Limit
var ChannelArray = [
["Channel 1", 204],
["Channel 2", 204],
]
function SetupChannels(){
device.SetLedLimit(DeviceMaxLedLimit);
for(let i = 0; i < ChannelArray.length; i++){
device.addChannel(ChannelArray[i][0],ChannelArray[i][1]);
}
}

Fungsi ini akan menghapus channel dari perangkat. Dalam keadaan normal, fungsi ini tidak diperlukan karena channel akan dibersihkan saat SignalRGB dimatikan. Tetapi karena channel bertahan antara hot reload file plugin, Anda mungkin ingin membersihkannya dalam fungsi initialize jika mengalami masalah saat mengembangkan plugin.

ParameterDeskripsiTipeContoh
ChannelNameChannelName yang akan dihapusString”Channel 1”
device.createChannel("Channel1")
// Do stuff
device.removeChannel("Channel1")

Fungsi ini akan mengembalikan nama semua channel yang saat ini ada di perangkat. Kegunaan utamanya adalah untuk keperluan debug karena Nama Channel harus disimpan dalam logika plugin dengan indeks channel untuk paket perangkat. Namun, ini dapat digunakan untuk mengiterasi semua channel di perangkat jika diinginkan dengan sedikit kehilangan performa.

returnDeskripsiTipeContoh
Channel NamesDaftar semua nama Channel di perangkat1D Array[“Channel 1”,“Channel 2”]
let channels = device.getChannelNames();

Ini adalah gateway Anda untuk berinteraksi dengan ComponentChannel. Ini akan mengembalikan referensi ke ComponentChannel itu sendiri jika ada yang cocok dengan ChannelName yang diberikan, jika tidak ada yang ada, itu akan mengembalikan null.

ParameterDeskripsiTipeContoh
ChannelNameChannelName untuk mengambil referensiString”Channel 1”
returnDeskripsiTipe
ComponentChannelObjek ComponentChannelComponentChannel | Null
let components = device.channel("Channel 1").getComponentNames();

Fungsi-fungsi ini digunakan untuk mengontrol dan berinteraksi dengan referensi ComponentChannel tertentu.

Seperti fungsi device.ledLimit() yang serupa, fungsi ini akan menetapkan batas LED aman maksimum untuk ComponentChannel ini.

ParameterDeskripsiTipeContoh
LedLimitBatas Led yang diinginkan untuk ChannelInt16
device.channel("Channel 1").SetLedLimit(204);

Ini akan mengembalikan jumlah Led yang dikonfigurasi pengguna di ComponentChannel ini.

ReturnDeskripsiTipeContoh
LedCountJumlah Led saat ini dari ChannelInt16
let ChannelLedCount = device.channel("Channel 1").LedCount();

Fungsi ini akan mengembalikan array data warna RGB berdasarkan peta LED dan koordinat perangkat. Nilai return untuk fungsi ini sangat bergantung pada pengaturan argumen yang benar.

ParameterDeskripsiTipeContohDefault
ArrayOrderFormat array yang diinginkanString”Inline""Seperate”
ColorOrderUrutan warna yang diinginkanString”RGB""RGB”
Array OrderDeskripsiTipeContoh
InlineMemformat data warna ke dalam array datar secara berurutan1D Array[R,G,B,R,G,B]
SeperateMemformat data warna ke dalam 3 channel yang berbeda2D Array[[R,R], [G,G], [B,B]]

ColorOrder adalah kombinasi 3 huruf dari “RGB”. misalnya “BGR”, “GBR”,“RBG”. Dan menentukan urutan warna saat menggunakan Inline ArrayOrder. Nilai yang tidak valid akan kembali ke “RGB”.

ReturnDeskripsiTipeContoh
RGB DataData warna RGB yang dikembalikan dalam format yang diinginkanArrayLihat Tabel Array Order
RGBData = device.channel("Channel 1").getColors("Inline", "GRB");

Fungsi ini mengembalikan boolean apakah channel perangkat ini harus ‘berdenyut’. Ini dapat diminta karena tidak ada Component yang dipilih, atau jika UI Component Setup onboarding sedang ditampilkan.

device.getChannelPulseColor() dapat digunakan untuk mendapatkan warna denyut yang diharapkan.

ReturnTipeDeskripsi
ShouldPulsebooleanApakah channel ini harus berdenyut