![見出し画像](https://assets.st-note.com/production/uploads/images/134281014/rectangle_large_type_2_d4f5f64c2bda76b5d7268153d465beb2.png?width=1200)
RPG Developer BAKIN用C#プラグイン 複数のスイッチを変数と範囲でオン・オフ
RPG Developer BAKIN用のC#プラグインです。
複数のスイッチを変数で範囲指定してまとめてオン、あるいはオフにします。
メソッドは下記の4つの機能の通常スイッチ用とローカルスイッチ用、登録時に便利なヘルパー機能のあわせて計9つです。
操作対象スイッチ(複数)を登録
登録したスイッチ群のa番目からb番目をON
登録したスイッチ群のa番目からb番目をOFF
登録したスイッチ群の数を取得
上記のa番目、b番目は変数あるいは数値で任意に指定できます。
また、通常スイッチについてはイベント間でスイッチ群の登録情報を共有するので複数のイベントで使用する場合でも登録は一度だけで済みます。
ヘルパー機能はスイッチ登録時に使う sw_1 sw_2 sw_3のような文字列を自動生成します。プレフィックス+数値の形式のスイッチ名を連続した数値で自動生成するのでたくさんのスイッチを登録する際に便利です。
使い方
・通常スイッチについて
最初に操作対象のスイッチを登録します。文字列変数ボックスにスイッチの名前を半角スペース区切りで代入し、イベントの「C#プログラムの呼び出しコマンド」で操作対象スイッチ(複数)を登録するメソッド
RegisterNormalSwitchArray を選び、引数に先ほどの文字列変数ボックスを指定してください。下記の例では sw_1、sw_2、sw_3 の3つの通常スイッチを登録します。
![](https://assets.st-note.com/img/1710717041965-WtkWkDTVAT.png?width=1200)
スイッチを登録したら、範囲を指定してスイッチをON・OFF操作します。イベントの「C#プログラムの呼び出しコマンド」でSetNormalSwitchArrayON 、SetNormalSwitchArrayOFF を選び、引数に先頭と末尾のスイッチ番号(登録した際の並び順の番号(0~))を指定してON・OFFして下さい。
第1引数は登録したスイッチ群を識別する値で、RegisterNormalSwitchArrayの戻り値を指定します。スイッチ群は複数登録が可能で、先ほどの識別子により対象のスイッチ群を指定できます。
![](https://assets.st-note.com/img/1710717408865-b7u0cK3VNC.png?width=1200)
スイッチの範囲指定のために登録したスイッチの個数を調べたい場合は、GetNormalSwitchArray で取得できます。個数(1~)なので範囲指定の際にはー1する必要があります。(範囲指定は0~、最初に登録されたスイッチは0番目になります)
![](https://assets.st-note.com/img/1710717655096-W89JJ44d7W.png?width=1200)
・ローカルスイッチについて
上記の通常スイッチ操作で説明した RegisterNormalSwitchArray 、SetNormalSwitchArrayON 、SetNormalSwitchArrayOFF、GetNormalSwitchArray の各メソッドを
ローカルスイッチ用の RegisterLocalSwitchArray 、SetLocalSwitchArrayON 、SetLocalSwitchArrayOFF、GetLocalSwitchArray に置き換えてください。
・ヘルパー機能について
ヘルパー機能 GetSwitchNamesStr は、引数にプレフィックスの文字列 数値の最初 数値の最後を指定すると連続的に数値を変えた文字列を出力します。
下記の例では、sw_1 ~ sw_10の スイッチ名が半角スペース区切りの文字列列として戻り値に出力され、その文字列は RegisterNormalSwitchArray などのスイッチ登録用の文字列として使用できます。
![](https://assets.st-note.com/img/1710725460637-WBUxmp5WKg.png)
ダウンロード
(2つめのファイルはChromeで.csファイルをダウンロードすると警告がでてしまう対策として拡張子を.txtにしたファイルです。こちらはダウンロード後に拡張子を.csに書き換えてお使いください)
RPG Developer BAKINへの導入方法
RPG Developer BAKINのイベントエディタの左下にある「C#プログラムの割り当て」の下矢印を左クリックし、表示されるメニューの「追加」を選んでダウンロードしたOperateSwitch.csファイルを開いてください
![](https://assets.st-note.com/img/1710716600710-EW8uVUw4AX.png)
この記事が気に入ったらサポートをしてみませんか?