Component Functions
Fungsi Device
Section titled “Fungsi Device”Fungsi-fungsi ini digunakan untuk menyiapkan perangkat agar kompatibel dengan Component System.
device.SetLedLimit()
Section titled “device.SetLedLimit()”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.
| Parameter | Deskripsi | Tipe | Contoh |
|---|---|---|---|
| LedLimit | Batas LED yang diinginkan untuk semua channel pada perangkat | Int | 80 |
const DeviceMaxLedLimit = 233; device.SetLedLimit(DeviceMaxLedLimit);device.getLedCount()
Section titled “device.getLedCount()”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.
| Return | Deskripsi | Tipe | Contoh |
|---|---|---|---|
| LedCount | Jumlah LED saat ini dari semua channel | Int | 64 |
let ColorData = [] if(LightingMode == "Forced"){ // do stuff }else if(device.getLedCount() == 0){ // do stuff }else{ // do stuff }device.addChannel()
Section titled “device.addChannel()”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.
| Parameter | Deskripsi | Tipe | Contoh |
|---|---|---|---|
| ChannelName | ChannelName yang akan digunakan untuk mereferensikan channel ini | String | ”Channel 1” |
| LedLimit | Batas LED pengoperasian Channel yang aman. | Int | 204 |
//Channel Name, Led Limitvar 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]); }}device.removeChannel()
Section titled “device.removeChannel()”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.
| Parameter | Deskripsi | Tipe | Contoh |
|---|---|---|---|
| ChannelName | ChannelName yang akan dihapus | String | ”Channel 1” |
device.createChannel("Channel1") // Do stuff device.removeChannel("Channel1")device.getChannelNames()
Section titled “device.getChannelNames()”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.
| return | Deskripsi | Tipe | Contoh |
|---|---|---|---|
| Channel Names | Daftar semua nama Channel di perangkat | 1D Array | [“Channel 1”,“Channel 2”] |
let channels = device.getChannelNames();device.channel()
Section titled “device.channel()”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.
| Parameter | Deskripsi | Tipe | Contoh |
|---|---|---|---|
| ChannelName | ChannelName untuk mengambil referensi | String | ”Channel 1” |
| return | Deskripsi | Tipe |
|---|---|---|
| ComponentChannel | Objek ComponentChannel | ComponentChannel | Null |
let components = device.channel("Channel 1").getComponentNames();ComponentChannel
Section titled “ComponentChannel”Fungsi-fungsi ini digunakan untuk mengontrol dan berinteraksi dengan referensi ComponentChannel tertentu.
channel.SetLedLimit()
Section titled “channel.SetLedLimit()”Seperti fungsi device.ledLimit() yang serupa, fungsi ini akan menetapkan batas LED aman maksimum untuk ComponentChannel ini.
| Parameter | Deskripsi | Tipe | Contoh |
|---|---|---|---|
| LedLimit | Batas Led yang diinginkan untuk Channel | Int | 16 |
device.channel("Channel 1").SetLedLimit(204);channel.LedCount()
Section titled “channel.LedCount()”Ini akan mengembalikan jumlah Led yang dikonfigurasi pengguna di ComponentChannel ini.
| Return | Deskripsi | Tipe | Contoh |
|---|---|---|---|
| LedCount | Jumlah Led saat ini dari Channel | Int | 16 |
let ChannelLedCount = device.channel("Channel 1").LedCount();channel.getColors()
Section titled “channel.getColors()”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.
| Parameter | Deskripsi | Tipe | Contoh | Default |
|---|---|---|---|---|
| ArrayOrder | Format array yang diinginkan | String | ”Inline" | "Seperate” |
| ColorOrder | Urutan warna yang diinginkan | String | ”RGB" | "RGB” |
| Array Order | Deskripsi | Tipe | Contoh |
|---|---|---|---|
| Inline | Memformat data warna ke dalam array datar secara berurutan | 1D Array | [R,G,B,R,G,B] |
| Seperate | Memformat data warna ke dalam 3 channel yang berbeda | 2D 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”.
| Return | Deskripsi | Tipe | Contoh |
|---|---|---|---|
| RGB Data | Data warna RGB yang dikembalikan dalam format yang diinginkan | Array | Lihat Tabel Array Order |
RGBData = device.channel("Channel 1").getColors("Inline", "GRB");channel.shouldPulseColors()
Section titled “channel.shouldPulseColors()”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.
| Return | Tipe | Deskripsi |
|---|---|---|
| ShouldPulse | boolean | Apakah channel ini harus berdenyut |