--waitEx , waitTachi		version20090203	（変更点は末尾に記載）

--機能：指定フレームだけyieldを繰り返す
--		function waitEx(waitCount, exception, elapsedFrame)
--
--機能：立ち状態になるまでyieldを繰り返す
--		function waitTachi()

--定数
MOTION_TACHI = 0	--立ち

--機能：指定フレームだけyieldを繰り返す
--戻り値：引数で与えられた関数exceptionの戻り値
--exception()の戻り値 > 0の場合、その時点でwaitを中断する
--中断せずに最後までwaitした場合、0を戻り値としてreturnする
function waitEx(waitCount, exception, elapsedFrame)
	local excCode = 0	--引数で与えられた関数exceptionの戻り値を格納
	local counter		--yield繰り返し用カウンタ
	
	for counter = 1, waitCount do
		if exception ~= nil then
			excCode = exception(elapsedFrame + counter - 1)	--引数で与えられた関数を呼び出し、状態調査する
																--counterは1始まりなので-1して利用する
		end
		if excCode > 0 then
			return excCode
		end		--状態>0の場合は関数終了
		yield()
	end
	return 0
end

--機能：立ち状態になるまでyieldを繰り返す
function waitTachi()
	while my_act ~= MOTION_TACHI do
		yield()
	end
end

--version20090203
--		version20090113からの変更点
--			・関数waitEx()　に第3引数 elapsedFrame 追加
--			  用途：関数exceptionにSetInput内部情報（SetInput呼び出し直後からの経過フレーム数）を与える
--			・SetInputを利用しやすくするため、サンプル用test.aiでなくライブラリファイルに記述するようにした
--			  今まではSetInput利用のためにサンプル用test.aiからwaitEx及びwaitTachiを切り貼りする作業が必要だった
