Class: Conductor

Conductor(options)

new Conductor(options)

Conductorです。 Conductorはタグのタイミング管理をします。 次のタグに行くべきなのか、それても止まるのかはここで処理されます。
Parameters:
Name Type Description
options Object
Properties
Name Type Description
file KAGFile ファイルを指定します、Conductor#setFileと同じです。
label String "*start"を指定するとstartラベルのジャンプする
Properties:
Name Type Description
waitTag Object.<string, Array.<function()>> 今どのタグを待っているのかを記録する、待ち終わったら実行されるfunctionも記録してます
file KAGFile
lineNumber Number 次実行するタグのラインナンバー。Conductor#queueにタグがある場合、queueのタグは先に実行されますので、次実行されるタグを検出したい場合は.getNextTagを使ってください。
currentTag Tag 今実行しているタグ。
oneShotStackDepth number 今のJS stackの深さ、oneShot()で直接run()をすると深すぎるかもしれないので。
stack Array.<Tag> openTagと閉じタグのペアのstackです
queue Array.<Tag> これから実行するタグ。これが空である場合はConductor#file[lineNumber]のタグを実行する。主にはタグを挿入したい時使われます。
clickSkipEnabled boolean clickskipタグで指定できる
callStack Array.<Tag.Restorable> call/returnタグ用のスタック
macroStack Array.<Macro> 今実行しているマクロの情報を持つ。マクロを実行してない時は空です。マクロの中でマクロを実行する時は2つMacroオブジェクトを持つ。
macros Object.<string, MacroDefinition> 実行したマクロタグはここにマクロの情報を入れる
ifStack Array.<IfStatus>
Implements:

Members

(static, constant) STATUS_PREPARE_TAG :number

Before the tag is finish running, during TagAction
Type:
  • number

(static, constant) STATUS_RUN :number

The tag is ran, not waiting for anything.
Type:
  • number

(static, constant) STATUS_STOP :number

Conductor stopped, no tag is running.
Type:
  • number

(static, constant) STATUS_WAIT :number

Tag is ran, waiting for something.
Type:
  • number

Methods

clearMacroStack()

マクロスタックをクリアします。これは無理やりクリアしてますので、注意ください

getNextTag(name) → {Tag}

次実行されるタグ。
Parameters:
Name Type Description
name string これから実行する、一番目のタグ名が name のタグ
Returns:
Type
Tag

getTagAction(name) → {TagAction}

Parameters:
Name Type Description
name String タグの名前
Returns:
タグを実行する時、どこのTagActionを使うべきなのかを決める。デフォルトはないけど、TagはTag.actionsを使います。
Type
TagAction

isMacro(name) → {boolean}

このタグはマクロなのかどうかを検出する
Parameters:
Name Type Description
name string | Tag
Returns:
Type
boolean

jumpIntoMacro(macro)

マクロの中身にジャンプ
Parameters:
Name Type Description
macro string | Tag マクロで生成されたタグ、またはそのタグの名前

oneShot()

次のタグに行く。将来的にはjsのstackを深すぎないようになにかの対応をします。

run()

Conductorを走らせます。 これを実行するとその場ですぐタグを実行します。 次のタグに行きたい時はConductor#oneShotを推奨します。

setFile(file)

conductorの「次実行するタグ」をfileの一行目にします。 そのタグが終わったら、fileの次のタグを実行します。
Parameters:
Name Type Description
file KAGFile

setTag(tag, nextTag)

conductorの「次実行するタグ」をtagにします。 conductorのfileは同時にこのタグが属するfileになります。 タグで同じscopeじゃないところにjumpする時はTag#jumpToTagを使ってください。
Parameters:
Name Type Description
tag Tag
nextTag boolean これがtrueの場合、指定されたタグではなく、その次のタグを実行する

toJSON() → {object|Serializable|Restorable}

Implements:
Returns:
- An plain that can be serialized to json
Type
object | Serializable | Restorable

trigger(name)

タグをトリガーする、普段はタグが終わったらトリガーする。
Parameters:
Name Type Description
name string | Tag トリガーするタグの名前、またはタグオブジェクトそのもの。

upComingTags()

これから実行するタグのArray、今実行しているタグは含まれない

wait(name, callbackopt)

あるタグがトリガーされるまで待つ。トリガーされたら次のタグに行く。 複数のタグを待つことはできますが、その中に一つのタグでもトリガーされたら、次のタグに行きます。 次のタグに行く時は、今の待ちを全部消します。 使い方はwtタグならwait("trans")、canskip=trueならwait('click')もする。
Parameters:
Name Type Attributes Description
name string 待たされるタグの名前。
callback function <optional>
トリガーされたら呼ばれるfunction。

Events

ran

タグを実行し終わった

running

タグを実行し始めた