Table of Contents

StatusPerk

継承:Perk セクション名:status 優先度:100

概要

StatusPerkはユニットの状態に関する機能を付与します。

設定

書式-グローバル設定

全ユニットに共通な設定はグローバル設定の“system.status”セクションに記述します。

{
    "system": {
        "status": {
            "options": {
                "waitForTimeout": Number,
            }
        }
    }
}

書式-ユニット固有設定

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

{
    "status": {
        "options": {
            "waitForTimeout": Number,
        },
        "waitFor": {
            <eventName>: [{
                <ユニット>:(設定できる値はbasic.locateスキルを参照),
                "status": String,
            }, ...],
            ...
        }
    }
}

<eventName>

型:String

イベント名を指定します。ここで指定されたイベントで、他のユニットが特定のステータスになるのを待ちます。有効なイベント名はBitsmistJSイベント、もしくはJavascriptの標準のイベントです。

値にはどのユニットがどのステータスになるのを待つのか、を記述したオブジェクトの配列を指定します。複数のオブジェクトを配列に入れることで、複数のユニットを待つことができます。

"status"

デフォルト:“ready”

指定したユニットがどのステータスになるのかを待つのかを指定します。指定がない場合は“ready”ステータスになるのを待ちます。

<unit>

どのユニットを待つのかを指定します。basic.locateスキルのtaget引数と同じものを指定します。

"waitForTimeout"

型:Number デフォルト:10000

waitスペルを使用する時の、タイムアウトまでの時間をミリ秒で指定します。

イベントハンドラ

doApplySettings

“status.waitFor”セクションから設定を読み込み、他のユニットを待つためのイベントハンドラをインストールします。

参照する設定

インベントリ

status

型:String 対象:インスタンス

このユニットの現在の状態です。changeスキルを呼び出すと、変更されます。有効な状態は以下の通りです。

スキル

change

型:Undefined 対象:Unit

ユニットの状態を変更します。

パラメータ

パラメータ説明
statusStringユニットの状態を表す文字列です。有効な文字列については、ステート - statusを参照してください

戻り値

なし。

スペル

wait

型:Undefined 対象:Unit

引数で指定された情報に従って、他のユニットが特定の状態になるのを待ちます。

パラメータ

パラメータ説明
waitList
Required
Array of Object待つ対象のユニットの情報の配列です。設定の<eventName>に対してセットする値と同じ内容です。
timeout
デフォルト:(説明参照)
Numberタイムアウトをミリ秒で指定します。ここで指定された時間がたってもユニットが指定の状態にならない場合、例外が発生します。指定がない場合、設定のwaitForTimeoutの値が使用されます。

戻り値

なし。

参照する設定