<?xml version="1.0" encoding="Shift_JIS" ?>
<doc>
<title>AsyncTrigger</title>
<desc>
　AsyncTrigger クラスは、いったん吉里吉里に制御が戻った直後のイベント配信のタイミングにイベントを発生させるためのクラスです。この機能を<kw>非同期トリガ</kw> ( asynchronous trigger ) と呼びます。<r/>
　吉里吉里のようにイベント駆動型のプログラミングモデルをとるスクリプトにおいて、イベントハンドラ内では実行できないような処理 ( たとえばイベントの発生元のオブジェクトをそのイベントハンドラ内で無効化しようとするなど ) を、そのイベントハンドラ外で行いたい時に便利です。<r/>
</desc>

<member>
	<name>AsyncTrigger</name>
	<type>constructor</type>
	<shortdesc>AsyncTriger オブジェクトの構築</shortdesc>
	<arg>
		<argitem>
			<name>owner</name>
			<default></default>
			<desc>
				　イベントの発生先を指定します。<r/>
			</desc>
		</argitem>
		<argitem>
			<name>actionname</name>
			<default>"action"</default>
			<desc>
				　owner で指定したイベントの発生先オブジェクトで、イベントを受け取るメソッド名を
				指定します。空文字列を指定すると owner はメソッドとみなされ、イベントの発生ごとに
				owner が直接呼ばれます。<r/>
			</desc>
		</argitem>
	</arg>
	<result></result>
	<desc>
		　AsyncTrigger クラスのオブジェクトを構築します。<r/>
	</desc>
</member>


<member>
	<name>onFire</name>
	<type>event</type>
	<shortdesc>発砲するとき</shortdesc>
	<arg></arg>
	<result></result>
	<desc>
		　<ref>AsyncTrigger.trigger</ref> メソッドでトリガを引いた後に発生します。<r/>
	</desc>
</member>


<member>
	<name>trigger</name>
	<type>method</type>
	<shortdesc>トリガを引く</shortdesc>
	<arg>
	</arg>
	<result></result>
	<desc>
		　イベントを発生させます。<r/>
		　このメソッドを呼んだ後、吉里吉里本体に制御が戻り、吉里吉里本体がたまった非同期イベントを配信する
		段階になると <ref>AsyncTrigger.onFire</ref> イベントが発生します。<r/>
	</desc>
</member>

<member>
	<name>cancel</name>
	<type>method</type>
	<shortdesc>トリガのキャンセル</shortdesc>
	<arg>
	</arg>
	<result></result>
	<desc>
		　<ref>AsyncTrigger.trigger</ref> メソッドで引いたトリガをキャンセルします。<r/>
		　発砲前であればいつでもキャンセルできます。<r/>
	</desc>
</member>


<member>
	<name>cached</name>
	<type>property</type>
	<shortdesc>イベントをキャッシュするかどうか</shortdesc>
	<access>r/w</access>
	<desc>
		　イベントをキャッシュするかどうかを表します。値を設定することもできます。<r/>
		　真を指定すると、発砲までに何度 <ref>AsyncTrigger.trigger</ref> メソッドを呼んでも
		発砲は１回だけとなります。<r/>
		　偽を指定すると、発砲までに呼んだ回数分、発砲されます。<r/>
	</desc>
</member>

<member>
	<name>mode</name>
	<type>property</type>
	<shortdesc>モード</shortdesc>
	<access>r/w</access>
	<desc>
		　動作のモードを表します。値を設定することもできます。<r/>
		　以下の値のいずれかを指定します。<r/>
		<tt><kw>atmNormal</kw>    : </tt> 通常のイベント配信の段階で発砲されます。<r/>
		<tt><kw>atmExclusive</kw> : </tt> 他の非同期イベントよりも優先されて発砲されます<r/>
		<tt><kw>atmAtIdle</kw>    : </tt> アイドル状態 ( 他に配信するイベントが無くなったとき ) に発砲されます。<r/>
		　同時にトリガを引いたときに発砲される順序は atmExclusive, atmNormal, atmIdle の順になります。<r/>
		　同じモードのトリガが複数引かれている場合は、トリガが引かれた順に発砲します。<r/>
	</desc>
	<ref>Timer.mode</ref>
</member>

</doc>
