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