//============================================
//XNvgpCu REMY
//JbgC\Cu
//============================================


//JbgC쐬
//texture:摜t@C
//rect:摜؂`B[X,Y,EX,EY]̓AS̔z
//dir_horizontal:\@_DIR_LEFT, _DIR_RIGHT̂ꂩ
//dir_vartical:ړ@_DIR_UP, _DIR_DOWN̂ꂩ
task REMY_TaskCreateSpellCutin(let texture, let rect, let dir_horizontal, let dir_vartical)
{

	if(dir_horizontal != _DIR_LEFT && dir_horizontal != _DIR_RIGHT)
	{
		RaiseError(" 3ɂ_DIR_LEFT_DIR_RIGHT\nw肵Ă","ERROR");
	}
	if(dir_vartical != _DIR_UP && dir_vartical != _DIR_DOWN)
	{
		RaiseError(" 4ɂ_DIR_UP_DIR_DOWN\nw肵Ă","ERROR");
	}


	let obj = REMY_Effect_CreateObject(texture, 4, 7);
	//ObjEffect_SetRenderState(obj, ALPHA);
	REMY_Effect_SetVertexSquare(obj, rect, [((rect[2]-rect[0])/2) * [-1,1][dir_horizontal == _DIR_RIGHT], 0], [0, 255, 255, 255]);

	Obj_SetPosition(obj, [GetClipMinX(), GetClipMaxX()][dir_horizontal == _DIR_RIGHT], 400 + [-300, 200][(dir_vartical == _DIR_UP)]);
	Obj_SetAngle(obj, [90,270][(dir_vartical == _DIR_UP)]);
	Obj_SetSpeed(obj, 1.6);

	ascent(i in 0..41)
	{
		let alpha = (i/40) * 100;
		REMY_Effect_SetColorSquare(obj, [alpha, 255,255,255]);
		yield;
	}

	loop(100){yield;}

	ascent(i in 0..41)
	{
		let alpha = (1-i/40) * 100;
		REMY_Effect_SetColorSquare(obj, [alpha, 255,255,255]);
		yield;
	}
	
	Obj_Delete(obj);

}
