======PreferencePerk======
''継承:Perk'' ''セクション名:dialog'' ''優先度:900(210)''
=====概要=====
PreferencePerkはユニットのプリファレンスを管理する機能を付与します。
=====設定=====
====書式-グローバル設定====
全ユニットに共通な設定はグローバル設定の"system.preference"セクションに記述します。
{
"system": {
"preference": {
"options": {
"preferenceServer": Boolean|String,
}
}
},
}
====書式-ユニット固有設定====
各ユニット固有の設定は"preference"セクションに記述します。
{
"preference": {
"options": {
"preferenceServer": Boolean|String,
},
"targets": [String, ...],
}
}
====preferenceServer====
''型:Boolean|String'' ''デフォルト:False''
====targets====
''型:Array of String''
変更を管理したいプリファレンス値のキーを指定します。複数のキーを指定できます。該当のキーのプリファレンス値に変更があった場合、applyスペルが呼び出され、関連するイベントがトリガされます。
=====イベントハンドラ=====
====doApplySettings====
プリファレンスサーバに接続します。サーバに接続すると、プリファレンスの変更があった時に通知を受け取ることができます。
====afterTransform====
applyスペルを呼び出し、プリファレンスをユニットに適用します。その際、e.detail.preferencesにすべてのプリファレンスが渡されます。
=====スキル=====
====get====
''型:*'' ''対象:unit''
指定されたキーのプリファレンス値を返します。キーに指定がない場合、すべてのプリファレンス値を返します。
===パラメータ===
^パラメータ^型^説明^
|key|String|取得したいプリファレンス値のキーです。|
|defaultValue|*|キーが存在しない場合、この値を返します。|
===戻り値===
プリファレンス値です。
====set====
''型:Undefined'' ''対象:unit''
指定されたキーにプリファレンス値をセットします。
===パラメータ===
^パラメータ^型^説明^
|key|String|セットしたいプリファレンスのキーです。|
|value|*|セットする値です。|
===戻り値===
なし。
=====スペル=====
====apply====
''型:Undefined'' ''対象:unit'' ''非同期''
ユニットにプリファレンスを適用します。このパークでは適用するためのイベントを引数のトリガするのみです。
===パラメータ===
^パラメータ^型^説明^
|key|String|セットしたいプリファレンスのキーです。|
|options|Object|オプションです。トリガーするイベントに渡されます。以下のキーがあります。|
| "preferences"|Object|変更があったプリファレンス値です。|
===戻り値===
なし。
===トリガーするイベント===
* beforeApplyPreferences
* doApplyPreferences
* afterApplyPreferences