#e[Stage]
#Title[Xe[WNp]
#Text[]
#Image[]
#BackGround[Default]
#BGM[]
#ScriptVersion[2]
#Player[FREE]

script_stage_main{
	let backimage = GetCurrentScriptDirectory ~ "back.png";/*wiOtBbNǂݍ*/
	let imageF = GetCurrentScriptDirectory ~ "frame.png";//t[OtBbNĂяo
	let imageS = GetCurrentScriptDirectory ~ "title0.png";//t[OtBbNĂяo
	let a = 0;/*OtBbNړp*/

@Initialize{
	ExpertEx(true, 99, 3);
	LoadGraphic(backimage);/*wiOtBbNǂݍ*/
	LoadGraphic(imageF);/*ۂɃOtBbNĂяoƂ*/
	LoadGraphic(imageS);/*ۂɃOtBbNĂяoƂ*/

	frame;
	stage;
}

@MainLoop{
	if(GetPoint >= 250 && GetPoint <= 499 && GetCommonData("ex") == 0){
	PlaySE(GetCurrentScriptDirectory ~ "up.wav");
	ExtendPlayer(1);
	SetCommonData("ex", 1);
	}
	if(GetPoint >= 500 && GetPoint <= 749 && GetCommonData("ex") == 1){
	PlaySE(GetCurrentScriptDirectory ~ "up.wav");
	ExtendPlayer(1);
	SetCommonData("ex", 2);
	}
	if(GetPoint >= 750 && GetPoint <= 999 && GetCommonData("ex") == 2){
	PlaySE(GetCurrentScriptDirectory ~ "up.wav");
	ExtendPlayer(1);
	SetCommonData("ex", 3);
	}
	if(GetPoint >= 1000 && GetCommonData("ex") == 3){
	PlaySE(GetCurrentScriptDirectory ~ "up.wav");
	ExtendPlayer(1);
	SetCommonData("ex", 4);
	}

	a += 6;/*OtBbNړp*/
	if (a >= 1024) {
		a = 0;
	}

	yield;
}

@BackGround{//wiǗ
	SetPerspectiveClip(0, 2000);//͈
	SetFog(1300, 1900, 0, 0, 0);//̔
	SetViewFrom(500, 90, 65);//Jʒu


	SetTexture(backimage);	/*ۂɃOtBbNĂяoƂ2*/
	SetGraphicRect(0, 0, 1024, 1024);/*摜Ŏg͈*/
	SetAlpha(150);//x
	SetGraphicAngle(90, 0, 0);//]
	DrawGraphic3D(0, -600, 0 + a);/*OtBbN`施*/
	DrawGraphic3D(0, -600, -1024 + a);/*OtBbN`施*/
	DrawGraphic3D(0, -600, -2048 + a);/*OtBbN`施*/
}

@Finalize{
	DeleteGraphic(backimage);/*wiOtBbN폜*/
	DeleteGraphic(imageF);/*t[OtBbN폜*/
	DeleteGraphic(imageS);/*t[OtBbN폜*/
}
//t[`
task frame{
	yield;

	SetTexture(imageF);/*ۂɃOtBbNĂяoƂ2*/
let objF = Obj_Create(OBJ_EFFECT);
	ObjEffect_SetTexture(objF, imageF);
	ObjEffect_SetRenderState(objF, ALPHA);
	Obj_SetAlpha(objF, 255);
	ObjEffect_SetLayer(objF,8);
	ObjEffect_SetPrimitiveType(objF, PRIMITIVE_TRIANGLESTRIP);
	ObjEffect_SetScale(objF, 1, 1);
	ObjEffect_SetAngle(objF, 0, 0, 0);
	ObjEffect_CreateVertex(objF, 4);
	ObjEffect_SetVertexXY(objF, 0, 1, 1);
	ObjEffect_SetVertexXY(objF, 1, 1, 480);
	ObjEffect_SetVertexXY(objF, 2, 640, 1);
	ObjEffect_SetVertexXY(objF, 3, 640, 480);
		ObjEffect_SetVertexUV(objF, 0, 1, 1);
		ObjEffect_SetVertexUV(objF, 1, 1, 480);
		ObjEffect_SetVertexUV(objF, 2, 640, 1);
		ObjEffect_SetVertexUV(objF, 3, 640, 480);
}

task stage{/////Xe[WIp
	yield;
	let selecton = 0;
	let selectY = 1;

	LoadCommonData;//Z[uf[^[h

	while(selecton == 0){
		SetPlayerX(GetCenterX);//@̓֎~
		SetPlayerY(GetClipMaxY - 50);
		ForbidShot(true);
		ForbidBomb(true);

	/////m[}Xe[WZNgZbg
	SetTexture(imageS);	/*ۂɃOtBbNĂяoƂ2*/
	let obj1 = Obj_Create(OBJ_EFFECT);//Xe[WIpIuWF쐬
	ObjEffect_SetTexture(obj1, imageS);
	ObjEffect_SetRenderState(obj1, ALPHA);
	ObjEffect_SetLayer(obj1, 7);//IuWFNguC[
	ObjEffect_SetPrimitiveType(obj1, PRIMITIVE_TRIANGLESTRIP);
	ObjEffect_SetScale(obj1, 1, 1);
	ObjEffect_SetAngle(obj1, 0, 0, 0);
	ObjEffect_CreateVertex(obj1, 4);//_CfbNX̐;
		ObjEffect_SetVertexXY(obj1, 0, 50, 50);//IuWFNgCfbNX̏ʒu
		ObjEffect_SetVertexXY(obj1, 1, 50, 115);//IuWFNgCfbNX̏ʒu
		ObjEffect_SetVertexXY(obj1, 2, 364, 50);//IuWFNgCfbNX̏ʒu
		ObjEffect_SetVertexXY(obj1, 3, 364, 115);//IuWFNgCfbNX̏ʒu
		ObjEffect_SetVertexUV(obj1, 0, 0, 0);
		ObjEffect_SetVertexUV(obj1, 1, 0, 65);
		ObjEffect_SetVertexUV(obj1, 2, 314, 0);
		ObjEffect_SetVertexUV(obj1, 3, 314, 65);

	/////n[hXe[WZNgZbg
	SetTexture(imageS);	/*ۂɃOtBbNĂяoƂ2*/
	let obj2 = Obj_Create(OBJ_EFFECT);//Xe[WIpIuWF쐬
	ObjEffect_SetTexture(obj2, imageS);
	ObjEffect_SetRenderState(obj2, ALPHA);
	ObjEffect_SetLayer(obj2, 7);//IuWFNguC[
	ObjEffect_SetPrimitiveType(obj2, PRIMITIVE_TRIANGLESTRIP);
	ObjEffect_SetScale(obj2, 1, 1);
	ObjEffect_SetAngle(obj2, 0, 0, 0);
	ObjEffect_CreateVertex(obj2, 4);//_CfbNX̐;
		ObjEffect_SetVertexXY(obj2, 0, 50, 116);//IuWFNgCfbNX̏ʒu
		ObjEffect_SetVertexXY(obj2, 1, 50, 181);//IuWFNgCfbNX̏ʒu
		ObjEffect_SetVertexXY(obj2, 2, 364, 116);//IuWFNgCfbNX̏ʒu
		ObjEffect_SetVertexXY(obj2, 3, 364, 181);//IuWFNgCfbNX̏ʒu
		ObjEffect_SetVertexUV(obj2, 0, 0, 66);
		ObjEffect_SetVertexUV(obj2, 1, 0, 131);
		ObjEffect_SetVertexUV(obj2, 2, 314, 66);
		ObjEffect_SetVertexUV(obj2, 3, 314, 131);

	/////GNXgXe[WZNgZbg
	SetTexture(imageS);	/*ۂɃOtBbNĂяoƂ2*/
	let obj3 = Obj_Create(OBJ_EFFECT);//Xe[WIpIuWF쐬
	ObjEffect_SetTexture(obj3, imageS);
	ObjEffect_SetRenderState(obj3, ALPHA);
	ObjEffect_SetLayer(obj3, 7);//IuWFNguC[
	ObjEffect_SetPrimitiveType(obj3, PRIMITIVE_TRIANGLESTRIP);
	ObjEffect_SetScale(obj3, 1, 1);
	ObjEffect_SetAngle(obj3, 0, 0, 0);
	ObjEffect_CreateVertex(obj3, 4);//_CfbNX̐;
		ObjEffect_SetVertexXY(obj3, 0, 50, 182);//IuWFNgCfbNX̏ʒu
		ObjEffect_SetVertexXY(obj3, 1, 50, 247);//IuWFNgCfbNX̏ʒu
		ObjEffect_SetVertexXY(obj3, 2, 364, 182);//IuWFNgCfbNX̏ʒu
		ObjEffect_SetVertexXY(obj3, 3, 364, 247);//IuWFNgCfbNX̏ʒu
		ObjEffect_SetVertexUV(obj3, 0, 0, 132);
		ObjEffect_SetVertexUV(obj3, 1, 0, 197);
		ObjEffect_SetVertexUV(obj3, 2, 314, 132);
		ObjEffect_SetVertexUV(obj3, 3, 314, 197);

//		alternative(GetCommonData("cleardata"))
//		case("Nodata"){//EXtO
			if(GetKeyState(VK_UP) == KEY_PUSH){
				selectY -= 1;

				if(selectY < 1){
					selectY = 2;
				}
			}
			if(GetKeyState(VK_DOWN) == KEY_PUSH){
				selectY ++;

				if(selectY > 2){
					selectY = 1;
				}
			}
			if(selectY == 1){
				ObjEffect_SetVertexColor(obj2, 0, 255, 100, 100, 100);
				ObjEffect_SetVertexColor(obj2, 1, 255, 100, 100, 100);
				ObjEffect_SetVertexColor(obj2, 2, 255, 100, 100, 100);
				ObjEffect_SetVertexColor(obj2, 3, 255, 100, 100, 100);

				ObjEffect_SetVertexColor(obj3, 0, 255, 100, 100, 100);
				ObjEffect_SetVertexColor(obj3, 1, 255, 100, 100, 100);
				ObjEffect_SetVertexColor(obj3, 2, 255, 100, 100, 100);
				ObjEffect_SetVertexColor(obj3, 3, 255, 100, 100, 100);

				if(GetKeyState(VK_SHOT) == KEY_PUSH){//Xe[WNN
					Obj_Delete(obj1);
					Obj_Delete(obj2);
					Obj_Delete(obj3);
					selecton = 1;

					loop(60){yield;}
					ForbidShot(false);
					ForbidBomb(false);

					stageN;
				}
			}
			if(selectY == 2){
				ObjEffect_SetVertexColor(obj1, 0, 255, 100, 100, 100);
				ObjEffect_SetVertexColor(obj1, 1, 255, 100, 100, 100);
				ObjEffect_SetVertexColor(obj1, 2, 255, 100, 100, 100);
				ObjEffect_SetVertexColor(obj1, 3, 255, 100, 100, 100);

				ObjEffect_SetVertexColor(obj3, 0, 255, 100, 100, 100);
				ObjEffect_SetVertexColor(obj3, 1, 255, 100, 100, 100);
				ObjEffect_SetVertexColor(obj3, 2, 255, 100, 100, 100);
				ObjEffect_SetVertexColor(obj3, 3, 255, 100, 100, 100);

				if(GetKeyState(VK_SHOT) == KEY_PUSH){//Xe[WHN
					Obj_Delete(obj1);
					Obj_Delete(obj2);
					Obj_Delete(obj3);
					selecton = 1;

					loop(60){yield;}
					ForbidShot(false);
					ForbidBomb(false);

					stageH;
				}
			}
//		}
//		others{//EXtOL
//		}

		loop(1){yield;}
	}
}
/////Xe[WIpI

////m[}
task stageN{
	PlayMusic(GetCurrentScriptDirectory~"bgm1.mp3");

	SetCommonData("ex", 0);//GNXehǗp

	function WaitForZeroEnemy()
	{//G0ɂȂ܂őҋ@֐
	while(GetEnemyNum() != 0){yield;}
	}

/*	loop(60){yield;}
	CreateEnemyFromFile(GetCurrentScriptDirectory~"zakoALL.txt", GetCenterX, 0, 0, 0, 0);
	WaitForZeroEnemy();//G܂Œ~*/

	loop(60){yield;}
	CreateEnemyFromFile(GetCurrentScriptDirectory~"title_event1.txt", GetCenterX, -100, 0, 0, 0);
	loop(240){yield;}

/*	CreateEnemyFromFile(GetCurrentScriptDirectory~"zakoALL2.txt", GetCenterX, 0, 0, 0, 0);
	WaitForZeroEnemy();//G܂Œ~

	CollectItems;

	loop(10){yield;}
	CreateEnemyBossFromFile(GetCurrentScriptDirectory~"saku_plural.txt", GetCenterX, 0, 0, 0, 0);
	WaitForZeroEnemy();//G܂Œ~

	CreateEnemyFromFile(GetCurrentScriptDirectory~"zakoALL3.txt", GetCenterX, 0, 0, 0, 0);
	WaitForZeroEnemy();//G܂Œ~*/

	CollectItems;
	FadeOutMusic(GetCurrentScriptDirectory~"bgm1.mp3", 20);

	loop(10){yield;}

	CreateEnemyBossFromFile(GetCurrentScriptDirectory~"koku_plural.txt", GetCenterX, 0, 0, 0, 0);
	loop(360){yield;}
	PlayMusic(GetCurrentScriptDirectory~"bgm2.mp3");
	WaitForZeroEnemy();//G܂Œ~

	loop(180){yield;}

	DeleteMusic(GetCurrentScriptDirectory~"bgm1.mp3");
	DeleteMusic(GetCurrentScriptDirectory~"bgm2.mp3");

	DeleteCommonData("ex");

	if(Continued == false){
		SetCommonData("cleardata", 1);//EXTRAJtO
		SaveCommonData;//EXTRAJtOZ[u
	}

	ClearStage;//Xe[WNA
}

////n[h
task stageH{
	PlayMusic(GetCurrentScriptDirectory~"bgm1.mp3");

	SetCommonData("ex", 0);//GNXehǗp

	function WaitForZeroEnemy()
	{//G0ɂȂ܂őҋ@֐
	while(GetEnemyNum() != 0){yield;}
	}

/*	loop(60){yield;}
	CreateEnemyFromFile(GetCurrentScriptDirectory~"zakoALL.txt", GetCenterX, 0, 0, 0, 0);
	WaitForZeroEnemy();//G܂Œ~*/

	loop(60){yield;}
	CreateEnemyFromFile(GetCurrentScriptDirectory~"title_event1.txt", GetCenterX, -100, 0, 0, 0);
	loop(240){yield;}

/*	CreateEnemyFromFile(GetCurrentScriptDirectory~"zakoALL2.txt", GetCenterX, 0, 0, 0, 0);
	WaitForZeroEnemy();//G܂Œ~

	CollectItems;

	loop(10){yield;}
	CreateEnemyBossFromFile(GetCurrentScriptDirectory~"saku_plural.txt", GetCenterX, 0, 0, 0, 0);
	WaitForZeroEnemy();//G܂Œ~

	CreateEnemyFromFile(GetCurrentScriptDirectory~"zakoALL3.txt", GetCenterX, 0, 0, 0, 0);
	WaitForZeroEnemy();//G܂Œ~*/

	CollectItems;
	FadeOutMusic(GetCurrentScriptDirectory~"bgm1.mp3", 20);

	loop(10){yield;}

	CreateEnemyBossFromFile(GetCurrentScriptDirectory~"Hkoku_plural.txt", GetCenterX, 0, 0, 0, 0);
	loop(360){yield;}
	PlayMusic(GetCurrentScriptDirectory~"bgm2.mp3");
	WaitForZeroEnemy();//G܂Œ~

	loop(180){yield;}

	DeleteMusic(GetCurrentScriptDirectory~"bgm1.mp3");
	DeleteMusic(GetCurrentScriptDirectory~"bgm2.mp3");

	DeleteCommonData("ex");

	if(Continued == false){
		SetCommonData("cleardata", 1);//EXTRAJtO
		SaveCommonData;//EXTRAJtOZ[u
	}

	ClearStage;//Xe[WNA
}

////GNXg
task stageE{
	PlayMusic(GetCurrentScriptDirectory~"bgm3.mp3");

	SetCommonData("ex", 0);//GNXehǗp

	function WaitForZeroEnemy()
	{//G0ɂȂ܂őҋ@֐
	while(GetEnemyNum() != 0){yield;}
	}

/*	loop(60){yield;}
	CreateEnemyFromFile(GetCurrentScriptDirectory~"zakoALL.txt", GetCenterX, 0, 0, 0, 0);
	WaitForZeroEnemy();//G܂Œ~*/

	loop(60){yield;}
	CreateEnemyFromFile(GetCurrentScriptDirectory~"title_event1.txt", GetCenterX, -100, 0, 0, 0);
	loop(240){yield;}

/*	CreateEnemyFromFile(GetCurrentScriptDirectory~"zakoALL2.txt", GetCenterX, 0, 0, 0, 0);
	WaitForZeroEnemy();//G܂Œ~

	CollectItems;

	loop(10){yield;}
	CreateEnemyBossFromFile(GetCurrentScriptDirectory~"saku_plural.txt", GetCenterX, 0, 0, 0, 0);
	WaitForZeroEnemy();//G܂Œ~

	CreateEnemyFromFile(GetCurrentScriptDirectory~"zakoALL3.txt", GetCenterX, 0, 0, 0, 0);
	WaitForZeroEnemy();//G܂Œ~*/

	CollectItems;
	FadeOutMusic(GetCurrentScriptDirectory~"bgm3.mp3", 20);

	loop(10){yield;}

	CreateEnemyBossFromFile(GetCurrentScriptDirectory~"EXakao_plural", GetCenterX, 0, 0, 0, 0);
	loop(360){yield;}
	PlayMusic(GetCurrentScriptDirectory~"bgm4.mp3");
	WaitForZeroEnemy();//G܂Œ~

	loop(180){yield;}

	DeleteMusic(GetCurrentScriptDirectory~"bgm3.mp3");
	DeleteMusic(GetCurrentScriptDirectory~"bgm4.mp3");

	DeleteCommonData("ex");

	ClearStage;//Xe[WNA
}

}

