※今回の投稿は、RPGツクールMVやMZ用のプラグインを制作している人向けのお話です。
皆様は、プラグインを制作している時に、「他のプラグインから値を引っ張ってこれないかな~」と思ったことはありませんか?
私は割とあります。他のプラグインと連携した処理を作るときに、値が取得できないとエラーが出るので、それを何とかするために。
とはいえ、パラメーターの値を収める部分(varとかconstとかがずらずら並んでいるやつ)が「(function () {」とか「(() => {」で始まるやつでくくられているものだと、すんなりと値は引っ張れません。
というわけで、そんなときに使える割と手軽な対処法を、雑な見本と共に記します。
const param_xxx = PluginManager.parameters("PluginXXXX");
PluginManager.parametersから、連携先のプラグインのパラメータを取得する。連携先のプラグイン名は間違えないように注意。間違えると大変な目に合う。
const xxxison = Object.keys(param_xxx).length > 0;
ちゃんと取得できているかどうかを、lengthでチェック。取得できていれば1以上が返ってくる。
連携先のプラグインを導入していない時とそうでないときとで処理を分ける方法として、これの値が0以上ならという条件が使える。
const getshita = String(param_xxx["Get Shitai Yatsu"] || "true");
値を取得する対象のパラメータを、連携先のプラグインの同名のパラメータと似たような形で書く。
よくプラグイン本体のパラメータだと「parameters」になっているところを、最初に作った連携先のパラメーター取得用のやつにするのがミソ。
これで大体何とかなります。
ただ、プラグインの作者によっては、勝手に連携されるのが嫌な人もいると思うので、自作のプラグインどうしで連携させるときに使う程度にしておくのがいいと思います。