======SettingPerk====== ''継承:Perk'' ''セクション名:setting'' ''優先度:10'' =====概要===== SettingPerkはユニットの設定に関する機能を付与します。 =====設定===== ====書式-グローバル設定==== 全ユニットに共通な設定はグローバル設定の"system.setting"セクションに記述します。 { "system": { "setting": { "options": { "path": String, "settingFormat": "js"|"json", "settingsRef": Boolean|String, } } } } ====書式-ユニット固有設定==== 各ユニット固有の設定は"setting"セクションに記述します。 { "setting": { "options": { "autoLoad": String, "fileName": String, "path": String, "settingFormat": "js"|"json", "settingsRef": Boolean|String, } } } ====書式-タグ属性==== いくつかの設定は、タグ属性で指定することもできます。 ===="autoLoad" / bm-autoload==== ''型:String'' ''デフォルト:False'' ユニットに必要なファイルを自動的にロードすることを示します。本来はUnitPerkの設定ですが、ここにURLが指定されている場合、SettingPerkでは設定ファイルのパスとファイル名として使用します。 ---- ====bm-options==== ''型:String'' JSON形式で設定を記述します。ここで指定された設定は、ユニット設定の"options"セクションにマージされます。 ---- ===="fileName" / bm-filename==== ''型:String'' ''デフォルト:<タグ名>'' 設定のファイル名を指定します。拡張子は不要です。 優先順は高い順に、"setting.options.fileName"、[[ja:bitsmist-js-core:reference:perk:unit-perk#filename_bm-filename|"unit.options.fileName"]]で、いずれも指定がない場合はタグ名がファイル名として使われます。 ファイル名に拡張子"settings.js"を付けたファイルをロードします。 ---- ===="path" / bm-path==== ''型:String'' 設定ファイルのパスを指定します。グローバル設定のパスと、ユニット固有設定のパスを連結したものが、最終的なパスとして使われます。 グローバル設定は"system.setting.options.path"、"system.unit.options.path"の優先順で使用され、ユニット固有設定は"setting.options.path"、"unit.options.path"の優先順で使用されます。 ---- ===="settingFomrat"==== ''型:String'' ''デフォルト:"json"'' 設定ファイルのフォーマットを指定します。"js"または"json"を指定できます。指定がない場合は、JSONファイルとして扱われます。 ---- ===="settingsRef" / bm-settingsref==== ''型:Boolean|String'' ''デフォルト:False'' ユニットの設定ファイルへのURLを指定します。Trueの場合は、デフォルトのURLが使用されます。設定は非同期に読み込まれ、ユニットの設定にマージされます。 bm-settingsref属性を指定した場合、値が指定されていればファイルへのURL、値が指定されてなければTrueとみなされます。Falseを指定したい場合は、"false"という文字列を指定してください。 =====アセット===== ====setting==== ''型:ChainableStore'' ''対象:インスタンス'' このユニットの設定を保持するアセットです。 =====スキル===== ====get==== ''型:*'' ''対象:Unit'' 設定を設定アセットから取得します。 ===パラメータ=== |< 100% 180px 130px - >| ^パラメータ^型^説明^ |key \\ ''必須''|String|取得するキーを指定します。| |defaultValue|*|キーが存在しない場合に返す値を指定します。| ===戻り値=== 指定されたキーの値です。キーの値が見つからない場合、defalutValueパラメータが指定されていればその値、指定されてない時はUndefinedを返します。 ---- ====merge==== ''型:Undefined'' ''対象:Unit'' 設定をマージします。 ===パラメータ=== |< 100% 180px 130px - >| ^パラメータ^型^説明^ |key \\ ''必須''|String|値をマージするキーを指定します。| |value \\ ''必須''|*|マージする値を指定します。| ===戻り値=== なし。 ---- ====set==== ''型:Undefined'' ''対象:Unit'' 設定を設定アセットにセットします。 ===パラメータ=== |< 100% 180px 130px - >| ^パラメータ^型^説明^ |key \\ ''必須''|String|値をセットするキーを指定します。| |value \\ ''必須''|*|セットする値を指定します。| ===戻り値=== なし。 =====スペル===== ====apply==== ''型:Undefined'' ''対象:Unit'' 設定を適用するためのイベントをトリガーします。また、"beforeApplySettings"と"doApplySettings"の間で[[ja:bitsmist-js-core:reference:perk:perk-perk#attachperks|"perk.attachPerks"]]スペルを使い、必要なパークをアタッチさせます。 ===パラメータ=== |< 100% 180px 130px - >| ^パラメータ^型^説明^ |options \\ ''必須''|Object|トリガするイベントに渡されるオプションです。以下のキーがあります。| | "settings" \\ ''必須''|Object|ユニットの設定です。| ===戻り値=== なし。 ===トリガーするイベント=== * beforeApplySettings * doApplySettings * afterApplySettings ---- ====summon==== ''型:Undefined'' ''対象:Unit'' ユニットの外部設定ファイルをロードします。ロードした設定は、ユニットの設定にマージされます。ロードするファイルは[[#settingsfref_bm-settingsref|settingsRef/bm-settingsref]]で指定します。 設定フォーマットがJavascriptオブジェクトの場合、ユニットがオブジェクトにバインドされるため、設定内で"this"はユニットを指します。 ===パラメータ=== なし。 ===戻り値=== なし。 ===参照する設定=== * [[#settingsfref_bm-settingsref|setting.options.settingRef/bm-settingsref]] * [[#settingfomrat|setting.options.settingFormat]]/[[#settingfomrat|system.setting.options.settingFormat]] * [[ja:bitsmist-js-core:reference:perk:unit-perk#path_bm-path|system.unit.options.path]] * [[ja:bitsmist-js-core:reference:perk:unit-perk#path_bm-path|unit.options.path]] * [[ja:bitsmist-js-core:reference:perk:unit-perk#filename_bm-filename|unit.options.fileName]] * [[ja:bitsmist-js-core:reference:perk:unit-perk#query|unit.options.query]]