#if defined HELPER_2D_INCLUDED___
  #endinput
#endif
#define HELPER_2D_INCLUDED___

/*!
	\file 2Dのヘルパー関数
*/

#include <all.inc>


/*
	Zソートオプションを決めます。

	ZSORT_NORMAL = 0,	// 普通にZ値でソート
	ZSORT_TOP,			// 兄弟の中でTOP
	ZSORT_BOTTOM,		// 兄弟の中でBOTTOM
	ZSORT_TOP_MOST,		// シーンの中でTOP
	ZSORT_BOTTOM_MOST,	// シーンの中でBOTTOM

	ZSORT_TOP_MOSTを設定すると、
	SetZOffsetで指定した順番が無効に鳴る可能性があります。

	\sa 3d.inc

*/
stock SetZOrder(obj:target, value) {
	SetOptionI(target, TAG("ZSRT"), value);
}

/*
	Zソートを設定します。
*/
stock SetZOffset(obj:target, float:value) {
	SetOptionF(target, TAG("ZOFS"), value);
}
/*
	おきまりのキャラクター作成を定型化
*/
stock obj: CreateCharacterObject(
			const float:x, const float:y,
			const float:w, const float:h,
			const texture:tex = 0,
			const obj:parent = 0,
			const zsort = ZSORT_NORMAL,
			const float:zoffset = 1.0) {

	new obj:object;
	if (parent) {	//親オブジェクトが渡されてきているなら親を設定
		object = CreatePlane(parent);
	} else {
		object = CreatePlane(Disp2D());
	}
	SetLocalScale(object, w, h, 1.0);
	SetPos(object, x, y, 1.0);
	SetColor(object, 1.0, 1.0, 1.0, 1.0);
	SetZOrder(object, zsort);
	SetZOffset(object, zoffset);

	if (tex) {
		SetTexture(object, tex);
	}

	return object;
}
