Perk
概要
パークのベースとなるクラスです。全てのパークはこのPerkを継承しています。
設定
書式-ユニット固有設定
各ユニット固有の設定は“perk”セクションに記述します。
{ "perk": { "options": { "apply": [String, ...], } } }
プロパティ
info
型:Object
get
このパークに関する情報のオブジェクトを返します。以下のキーを持ちます。
キー | 型 | 説明 |
---|---|---|
depends | String/ Array of String | このパークが依存するパークの名前です。配列にして複数指定することも可能です。 |
sectionName | String | このパークが使用する設定のセクション名です。このセクション名が設定に存在すると、対応するパークがユニットにアタッチされます。 |
order | Number | パークの優先度です。数値が低い方が、より優先度が高くなります。パークの初期化やイベントハンドラが、この優先順に従って実行されます。 |
各パークはこのプロパティをオーバーライドして、適切な情報を返す必要があります。
ready
型:Promise
get
パークが準備完了した時にリゾルブされるプロミスです。
メソッド
createHandler(handlerName, ...args)
型:Function
ハンドラーを作成します。ハンドラーはあらかじめ、registerHandler()で登録されている必要があります。
パラメータ
パラメータ | 型 | 説明 |
---|---|---|
handlerName 必須 | String | 作成するハンドラーの名前です。 |
…args | Array of Arguments | ハンドラーのコンストラクタに渡される引数です。 |
戻り値
作成したハンドラーインスタンスです。
getPerk(perkName)
型:Perk
static
引数で指定されたパーク名のパークを返します。パークはあらかじめregisterPerk()で登録されている必要があります。
パラメータ
パラメータ | 型 | 説明 |
---|---|---|
perkName 必須 | String | 取得するパーク名です。 |
戻り値
指定されたパークです。
globalInit()
型:Undefined
static
パークの初期化を行います。registerPerk()でパークを登録した時に、自動的に呼び出されます。通常、全ての処理が開始される前にパークの登録が行われます。
各パークは必要な場合、オーバーライドして独自の処理を行います。
パラメータ
なし。
戻り値
なし。
init(unit, options)
型:Undefined
非同期
static
パークをユニットにアタッチする際に、呼び出されます。通常、設定が読み込まれたときに、自動的に呼び出されます。アタッチされるユニットが引数として渡されます。
各パークは必要な場合、オーバーライドして独自の処理を行います。
パラメータ
パラメータ | 型 | 説明 |
---|---|---|
unit 必須 | Unit | アタッチされたユニットです。 |
options | Object | 初期化のオプションです。 |
戻り値
なし。
registerHandler(handler, perkName)
型:Undefined
ハンドラをパークに登録します。ハンドラはパークによって、実際の処理に使用されるクラスです。
パラメータ
パラメータ | 型 | 説明 |
---|---|---|
handler 必須 | Function | 登録するhandlerを指定します。 |
perkName | String | 登録先のパーク名を指定します。 |
戻り値
なし。
registerPerk(perk)
型:Undefined
パークをシステムに登録します。登録されてないパークは、ユニットにアタッチすることができません。この時に、登録したパークのグローバル初期化処理が実行されます。
パラメータ
パラメータ | 型 | 説明 |
---|---|---|
perk 必須 | Perk | 登録するPerkを指定します。 |
戻り値
なし。
スペル
attach
型:Undefined
対象:Unit
引数で渡されたパークをユニットにアタッチします。パークが別のパークに依存する場合、そのパークを先にアタッチします。アタッチされたパークはperkアセットに追加されます。アタッチ時に各パークのinit()メソッドが呼ばれ、ユニットがアップグレードされます。指定されたパークがすでにアタッチ済みの場合、何もしません。
パラメータ
パラメータ | 型 | 説明 |
---|---|---|
perk 必須 | Perk | アタッチするパークです。 |
options | Object | オプションです。アタッチするパークのinit()メソッドに渡されます。 |
戻り値
なし。
attachPerks
型:Undefined
対象:Unit
設定に応じ、必要なパークを全てattachスペルを使って、ユニットにアタッチします。アタッチする順番は、各パークの優先度の数字が小さい順になります。
パラメータ
パラメータ | 型 | 説明 |
---|---|---|
options 必須 | Object | オプションです。以下のキーがあります。 |
“settings” | Object | ユニットの設定です。 |
戻り値
なし。