Table of Contents

Perk

概要

パークのベースとなるクラスです。全てのパークはこのPerkを継承しています。

設定

書式-ユニット固有設定

各ユニット固有の設定は“perk”セクションに記述します。

{
    "perk": {
        "options": {
            "apply": [String, ...],
        }
    }
}

プロパティ

info

型:Object get

このパークに関する情報のオブジェクトを返します。以下のキーを持ちます。

キー説明
dependsString/
Array of String
このパークが依存するパークの名前です。配列にして複数指定することも可能です。
sectionNameStringこのパークが使用する設定のセクション名です。このセクション名が設定に存在すると、対応するパークがユニットにアタッチされます。
orderNumberパークの優先度です。数値が低い方が、より優先度が高くなります。パークの初期化やイベントハンドラが、この優先順に従って実行されます。

各パークはこのプロパティをオーバーライドして、適切な情報を返す必要があります。


ready

型:Promise get

パークが準備完了した時にリゾルブされるプロミスです。

メソッド

createHandler(handlerName, ...args)

型:Function

ハンドラーを作成します。ハンドラーはあらかじめ、registerHandler()で登録されている必要があります。

パラメータ

パラメータ説明
handlerName
必須
String作成するハンドラーの名前です。
…argsArray of Argumentsハンドラーのコンストラクタに渡される引数です。

戻り値

作成したハンドラーインスタンスです。


getPerk(perkName)

型:Perk static

引数で指定されたパーク名のパークを返します。パークはあらかじめregisterPerk()で登録されている必要があります。

パラメータ

パラメータ説明
perkName
必須
String取得するパーク名です。

戻り値

指定されたパークです。


globalInit()

型:Undefined static

パークの初期化を行います。registerPerk()でパークを登録した時に、自動的に呼び出されます。通常、全ての処理が開始される前にパークの登録が行われます。

各パークは必要な場合、オーバーライドして独自の処理を行います。

パラメータ

なし。

戻り値

なし。


init(unit, options)

型:Undefined 非同期 static

パークをユニットにアタッチする際に、呼び出されます。通常、設定が読み込まれたときに、自動的に呼び出されます。アタッチされるユニットが引数として渡されます。

各パークは必要な場合、オーバーライドして独自の処理を行います。

パラメータ

パラメータ説明
unit
必須
Unitアタッチされたユニットです。
optionsObject初期化のオプションです。

戻り値

なし。


registerHandler(handler, perkName)

型:Undefined

ハンドラをパークに登録します。ハンドラはパークによって、実際の処理に使用されるクラスです。

パラメータ

パラメータ説明
handler
必須
Function登録するhandlerを指定します。
perkNameString登録先のパーク名を指定します。

戻り値

なし。


registerPerk(perk)

型:Undefined

パークをシステムに登録します。登録されてないパークは、ユニットにアタッチすることができません。この時に、登録したパークのグローバル初期化処理が実行されます。

パラメータ

パラメータ説明
perk
必須
Perk登録するPerkを指定します。

戻り値

なし。

スペル

attach

型:Undefined 対象:Unit

引数で渡されたパークをユニットにアタッチします。パークが別のパークに依存する場合、そのパークを先にアタッチします。アタッチされたパークはperkアセットに追加されます。アタッチ時に各パークのinit()メソッドが呼ばれ、ユニットがアップグレードされます。指定されたパークがすでにアタッチ済みの場合、何もしません。

パラメータ

パラメータ説明
perk
必須
Perkアタッチするパークです。
optionsObjectオプションです。アタッチするパークのinit()メソッドに渡されます。

戻り値

なし。

attachPerks

型:Undefined 対象:Unit

設定に応じ、必要なパークを全てattachスペルを使って、ユニットにアタッチします。アタッチする順番は、各パークの優先度の数字が小さい順になります。

パラメータ

パラメータ説明
options
必須
Objectオプションです。以下のキーがあります。
“settings”Objectユニットの設定です。

戻り値

なし。