YesNoウィンドウ

はい・いいえ もしくは 確認 をするためのウィンドウです。
表示する文字列、表示するボタンのスプライト等はカスタム可能です。

YUI_PARAM_YESNO

YesNoウィンドウを生成する際に利用するパラメータクラス
コンストラクタでYes/Noの設定を下記の中から選択します

レイアウト指定内容
YUI.E_YN_LAYOUT.TITLE タイトルとボタンだけ表示する
YUI.E_YN_LAYOUT.MES メッセージとボタンだけ表示する
YUI.E_YN_LAYOUT.TITLE_MES タイトルとメッセージを表示する

ボタン指定内容
YUI.E_YN_LAYOUT.YES_NO YesボタンとNoボタンを表示する
YUI.E_YN_LAYOUT.CONFIRM 確認ボタンだけ表示する

	// パラメータ初期化の例.
	YUI_PARAM_YESNO rYesNo = new YUI_PARAM_YESNO( YUI.E_YN_LAYOUT.TITLE_MES,
		YUI_PARAM_YESNO.E_INPUT_TYPE.YES_NO );

続いてメッセージやスプライトの設定を行います。
下記のパラメータが設定可能です。

特筆項目内容
SetTitle タイトルとして表示する文字列を設定する
SetMessage 表示する文字列を設定する
SetYesNoMessage Yes(Confirm)/Noボタンに表示する文字列を設定する
SetFontSize 文字のサイズを設定する
SetYNFunc Yes(Confirm)/Noが押された時の関数を登録する
BACK_BLOCK ウィンドウのスプライト設定ブロック
NORMAL_BLOCK ボタンNormal状態のスプライト設定ブロック
HIGHLIGHT_BLOCK ボタンHighlight状態のスプライト設定ブロック
PRESS_BLOCK ボタンPress状態のスプライト設定ブロック
SetMargin/X/Y 要素と要素の間のマージンを設定します
SetMinWidth/Height/Size XY方向の最小サイズを設定します
SetMinBtnWidth/Height/Size ボタンの最小サイズを設定します
SetOpenAnime 生成時のアニメーションを指定します

生成方法と特徴

下記の例では、画面の中心に仮想解像度上の自動調整サイズのウィンドウを描画します。


	// 利用するリソースを用意.
	YUIAsync rSprite		= YUI.GetSpriteAsync( YUI.E_SPRITE.DEBUG_TARGET );
	YUIAsync rBtnNormal		= YUI.GetSpriteAsync( YUI.E_SPRITE.BTN_NORMAL );
	YUIAsync rBtnHighlight	= YUI.GetSpriteAsync( YUI.E_SPRITE.BTN_HIGHLIGHT );
	YUIAsync rBtnPress		= YUI.GetSpriteAsync( YUI.E_SPRITE.BTN_PRESS );

	// パラメータを生成し、作成関数を呼ぶ.
	YUI_PARAM_YESNO rYesNo = new YUI_PARAM_YESNO( YUI.E_YN_LAYOUT.TITLE_MES, YUI_PARAM_YESNO.E_INPUT_TYPE.YES_NO );
	rYesNo.SetTitle( "YesNo質問" );
	rYesNo.SetMessage( "質問です\nどちらですか?" );
	rYesNo.SetYesNoMessage( "左", "右" );
	rYesNo.SetFontSize( 30 );
	rYesNo.SetYNFunc( FUNC_WND_YESNO, FUNC_WND_YESNO );
	rYesNo.BACK_BLOCK.SetSprite( rSprite, YUI.E_FILL_TYPE.TILED );
	rYesNo.NORMAL_BLOCK.SetSprite( rBtnNormal, YUI.E_FILL_TYPE.SLICED );
	rYesNo.HIGHLIGHT_BLOCK.SetSprite( rBtnHighlight, YUI.E_FILL_TYPE.SLICED );
	rYesNo.PRESS_BLOCK.SetSprite( rBtnPress, YUI.E_FILL_TYPE.SLICED );
	YUI_YESNO.CreateFunc( rYesNo );
	

コールバックは以下の要領で作成します。
YUI.E_COMMAND.YESNO_YESかYUI.E_COMMAND.YESNO_NOが返ってきます。


	/// YesNoからの通知.
	protected bool FUNC_WND_YESNO( int nUniqueID, int nComType, object rParam ) {
		Debug.Log( nComType +"の通知" );
		return true;
	}
	

生成結果

※仮想解像度1280*800の場合