
//=======================================================================
//@Gl~[}[J[\֐WłB
//@̃t@Cinclude_functionŎ荞ނA
//@KvȕRsyĎgpĂB
//=======================================================================

//=======================================================================
//  摜ւ̃pX \Ⴄꍇ͗vύX
//-----------------------------------------------------------------------
let imgmarker = GetCurrentScriptDirectory~"img/Marker.png";
//=======================================================================

//-----------------------------------------------------------------------
//  Gl~[}[J[ [th11]
//-----------------------------------------------------------------------
task EnemyMarker01(enemy) {

	let marker	= ObjPrim_Create(OBJ_PRIMITIVE_2D);
	let alpha	= 255;

        let gsfl = GetStgFrameLeft;
        let gsft = GetStgFrameTop;
        let gsfw = GetStgFrameWidth;
        let gsfh = GetStgFrameHeight;

	LoadTexture(imgmarker);

	ObjRender_SetX(marker,ObjMove_GetX(enemy));
	ObjRender_SetY(marker,gsft+gsfh+8);
	ObjPrim_SetTexture(marker,imgmarker);
	ObjPrim_SetPrimitiveType(marker,PRIMITIVE_TRIANGLESTRIP);
	ObjRender_SetScaleXYZ(marker,1.00,1.00,1);
	Obj_SetRenderPriorityI(marker,90);
	ObjPrim_SetVertexCount(marker,4);
	ObjPrim_SetVertexPosition(marker,0,-24,-8,0);
	ObjPrim_SetVertexPosition(marker,1,-24, 8,0);
	ObjPrim_SetVertexPosition(marker,2, 24,-8,0);
	ObjPrim_SetVertexPosition(marker,3, 24, 8,0);
	ObjPrim_SetVertexUVT(marker,0,  0, 0);
	ObjPrim_SetVertexUVT(marker,1,  0,16);
	ObjPrim_SetVertexUVT(marker,2, 48, 0);
	ObjPrim_SetVertexUVT(marker,3, 48,16);

	while(!Obj_IsDeleted(enemy)) {
		ObjRender_SetX(marker,ObjMove_GetX(enemy)+gsfl);
		if(ObjMove_GetX(enemy)<0 || ObjMove_GetX(enemy)>gsfw) { ObjRender_SetX(marker,-100); }

		alpha = 144+absolute(ObjMove_GetX(enemy)-GetPlayerX)*2;
		ObjPrim_SetVertexAlpha(marker,0,alpha);
		ObjPrim_SetVertexAlpha(marker,1,alpha);
		ObjPrim_SetVertexAlpha(marker,2,alpha);
		ObjPrim_SetVertexAlpha(marker,3,alpha);
		yield;
	}
        Obj_Delete(marker);
}

//-----------------------------------------------------------------------
//  Gl~[}[J[ [th12]
//-----------------------------------------------------------------------
task EnemyMarker02(enemy) {

	let marker	= ObjPrim_Create(OBJ_PRIMITIVE_2D);
	let alpha	= 255;

        let gsfl = GetStgFrameLeft;
        let gsft = GetStgFrameTop;
        let gsfw = GetStgFrameWidth;
        let gsfh = GetStgFrameHeight;

	LoadTexture(imgmarker);

	ObjRender_SetX(marker,ObjMove_GetX(enemy));
	ObjRender_SetY(marker,gsft+gsfh+8);
	ObjPrim_SetTexture(marker,imgmarker);
	ObjPrim_SetPrimitiveType(marker,PRIMITIVE_TRIANGLESTRIP);
	ObjRender_SetScaleXYZ(marker,1.00,1.00,1);
	Obj_SetRenderPriorityI(marker,90);
	ObjPrim_SetVertexCount(marker,4);
	ObjPrim_SetVertexPosition(marker,0,-24,-8,0);
	ObjPrim_SetVertexPosition(marker,1,-24, 8,0);
	ObjPrim_SetVertexPosition(marker,2, 24,-8,0);
	ObjPrim_SetVertexPosition(marker,3, 24, 8,0);
	ObjPrim_SetVertexUVT(marker,0, 48, 0);
	ObjPrim_SetVertexUVT(marker,1, 48,16);
	ObjPrim_SetVertexUVT(marker,2, 96, 0);
	ObjPrim_SetVertexUVT(marker,3, 96,16);

	while(!Obj_IsDeleted(enemy)) {
		ObjRender_SetX(marker,ObjMove_GetX(enemy)+gsfl);
		if(ObjMove_GetX(enemy)<0 || ObjMove_GetX(enemy)>gsfw) { ObjRender_SetX(marker,-100); }

		alpha = 144+absolute(ObjMove_GetX(enemy)-GetPlayerX)*2;
		ObjPrim_SetVertexAlpha(marker,0,alpha);
		ObjPrim_SetVertexAlpha(marker,1,alpha);
		ObjPrim_SetVertexAlpha(marker,2,alpha);
		ObjPrim_SetVertexAlpha(marker,3,alpha);
		yield;
	}
        Obj_Delete(marker);
}

//-----------------------------------------------------------------------
//  Gl~[}[J[ [th10]
//-----------------------------------------------------------------------
task EnemyMarker03(enemy) {

	let marker	= ObjPrim_Create(OBJ_PRIMITIVE_2D);
	let alpha	= 255;

        let gsfl = GetStgFrameLeft;
        let gsft = GetStgFrameTop;
        let gsfw = GetStgFrameWidth;
        let gsfh = GetStgFrameHeight;

	LoadTexture(imgmarker);

	ObjRender_SetX(marker,ObjMove_GetX(enemy));
	ObjRender_SetY(marker,gsft+gsfh+8);
	ObjPrim_SetTexture(marker,imgmarker);
	ObjPrim_SetPrimitiveType(marker,PRIMITIVE_TRIANGLESTRIP);
	ObjRender_SetScaleXYZ(marker,1.00,1.00,1);
	Obj_SetRenderPriorityI(marker,90);
	ObjPrim_SetVertexCount(marker,4);
	ObjPrim_SetVertexPosition(marker,0,-24,-8,0);
	ObjPrim_SetVertexPosition(marker,1,-24, 8,0);
	ObjPrim_SetVertexPosition(marker,2, 24,-8,0);
	ObjPrim_SetVertexPosition(marker,3, 24, 8,0);
	ObjPrim_SetVertexUVT(marker,0,  0,16);
	ObjPrim_SetVertexUVT(marker,1,  0,32);
	ObjPrim_SetVertexUVT(marker,2, 48,16);
	ObjPrim_SetVertexUVT(marker,3, 48,32);

	while(!Obj_IsDeleted(enemy)) {
		ObjRender_SetX(marker,ObjMove_GetX(enemy)+gsfl);
		if(ObjMove_GetX(enemy)<0 || ObjMove_GetX(enemy)>gsfw) { ObjRender_SetX(marker,-100); }

		alpha = 144+absolute(ObjMove_GetX(enemy)-GetPlayerX)*2;
		ObjPrim_SetVertexAlpha(marker,0,alpha);
		ObjPrim_SetVertexAlpha(marker,1,alpha);
		ObjPrim_SetVertexAlpha(marker,2,alpha);
		ObjPrim_SetVertexAlpha(marker,3,alpha);
		yield;
	}
        Obj_Delete(marker);
}

//-----------------------------------------------------------------------
//  Gl~[}[J[ [th13]
//-----------------------------------------------------------------------
task EnemyMarker04(enemy) {

	let marker	= ObjPrim_Create(OBJ_PRIMITIVE_2D);
	let alpha	= 255;

        let gsfl = GetStgFrameLeft;
        let gsft = GetStgFrameTop;
        let gsfw = GetStgFrameWidth;
        let gsfh = GetStgFrameHeight;

	LoadTexture(imgmarker);

	ObjRender_SetX(marker,ObjMove_GetX(enemy));
	ObjRender_SetY(marker,gsft+gsfh+8);
	ObjPrim_SetTexture(marker,imgmarker);
	ObjPrim_SetPrimitiveType(marker,PRIMITIVE_TRIANGLESTRIP);
	ObjRender_SetScaleXYZ(marker,1.00,1.00,1);
	Obj_SetRenderPriorityI(marker,90);
	ObjPrim_SetVertexCount(marker,4);
	ObjPrim_SetVertexPosition(marker,0,-24,-8,0);
	ObjPrim_SetVertexPosition(marker,1,-24, 8,0);
	ObjPrim_SetVertexPosition(marker,2, 24,-8,0);
	ObjPrim_SetVertexPosition(marker,3, 24, 8,0);
	ObjPrim_SetVertexUVT(marker,0, 48,16);
	ObjPrim_SetVertexUVT(marker,1, 48,32);
	ObjPrim_SetVertexUVT(marker,2, 96,16);
	ObjPrim_SetVertexUVT(marker,3, 96,32);

	while(!Obj_IsDeleted(enemy)) {
		ObjRender_SetX(marker,ObjMove_GetX(enemy)+gsfl);
		if(ObjMove_GetX(enemy)<0 || ObjMove_GetX(enemy)>gsfw) { ObjRender_SetX(marker,-100); }

		alpha = 144+absolute(ObjMove_GetX(enemy)-GetPlayerX)*2;
		ObjPrim_SetVertexAlpha(marker,0,alpha);
		ObjPrim_SetVertexAlpha(marker,1,alpha);
		ObjPrim_SetVertexAlpha(marker,2,alpha);
		ObjPrim_SetVertexAlpha(marker,3,alpha);
		yield;
	}
        Obj_Delete(marker);
}

//-----------------------------------------------------------------------
//  Gl~[}[J[ [th09]
//-----------------------------------------------------------------------
task EnemyMarker05(enemy) {

	let marker	= ObjPrim_Create(OBJ_PRIMITIVE_2D);
	let alpha	= 255;

        let gsfl = GetStgFrameLeft;
        let gsft = GetStgFrameTop;
        let gsfw = GetStgFrameWidth;
        let gsfh = GetStgFrameHeight;

	LoadTexture(imgmarker);

	ObjRender_SetX(marker,ObjMove_GetX(enemy));
	ObjRender_SetY(marker,gsft+gsfh+8);
	ObjPrim_SetTexture(marker,imgmarker);
	ObjPrim_SetPrimitiveType(marker,PRIMITIVE_TRIANGLESTRIP);
	ObjRender_SetScaleXYZ(marker,1.00,1.00,1);
	Obj_SetRenderPriorityI(marker,90);
	ObjPrim_SetVertexCount(marker,4);
	ObjPrim_SetVertexPosition(marker,0,-24,-8,0);
	ObjPrim_SetVertexPosition(marker,1,-24, 8,0);
	ObjPrim_SetVertexPosition(marker,2, 24,-8,0);
	ObjPrim_SetVertexPosition(marker,3, 24, 8,0);
	ObjPrim_SetVertexUVT(marker,0,  0,32);
	ObjPrim_SetVertexUVT(marker,1,  0,48);
	ObjPrim_SetVertexUVT(marker,2, 48,32);
	ObjPrim_SetVertexUVT(marker,3, 48,48);

	while(!Obj_IsDeleted(enemy)) {
		ObjRender_SetX(marker,ObjMove_GetX(enemy)+gsfl);
		if(ObjMove_GetX(enemy)<0 || ObjMove_GetX(enemy)>gsfw) { ObjRender_SetX(marker,-100); }

		alpha = 144+absolute(ObjMove_GetX(enemy)-GetPlayerX)*2;
		ObjPrim_SetVertexAlpha(marker,0,alpha);
		ObjPrim_SetVertexAlpha(marker,1,alpha);
		ObjPrim_SetVertexAlpha(marker,2,alpha);
		ObjPrim_SetVertexAlpha(marker,3,alpha);
		yield;
	}
        Obj_Delete(marker);
}

//-----------------------------------------------------------------------
//  Gl~[}[J[ [th12] [FύX]
//-----------------------------------------------------------------------
task EnemyMarkerEx(enemy,R,G,B) {

	let marker	= ObjPrim_Create(OBJ_PRIMITIVE_2D);
	let alpha	= 255;

        let gsfl = GetStgFrameLeft;
        let gsft = GetStgFrameTop;
        let gsfw = GetStgFrameWidth;
        let gsfh = GetStgFrameHeight;

	LoadTexture(imgmarker);

	ObjRender_SetX(marker,ObjMove_GetX(enemy));
	ObjRender_SetY(marker,gsft+gsfh+8);
	ObjPrim_SetTexture(marker,imgmarker);
	ObjPrim_SetPrimitiveType(marker,PRIMITIVE_TRIANGLESTRIP);
	ObjRender_SetScaleXYZ(marker,1.00,1.00,1);
	Obj_SetRenderPriorityI(marker,90);
	ObjPrim_SetVertexCount(marker,4);
	ObjPrim_SetVertexPosition(marker,0,-24,-8,0);
	ObjPrim_SetVertexPosition(marker,1,-24, 8,0);
	ObjPrim_SetVertexPosition(marker,2, 24,-8,0);
	ObjPrim_SetVertexPosition(marker,3, 24, 8,0);
	ObjPrim_SetVertexUVT(marker,0, 48,32);
	ObjPrim_SetVertexUVT(marker,1, 48,48);
	ObjPrim_SetVertexUVT(marker,2, 96,32);
	ObjPrim_SetVertexUVT(marker,3, 96,48);

	while(!Obj_IsDeleted(enemy)) {
		ObjRender_SetX(marker,ObjMove_GetX(enemy)+gsfl);
		if(ObjMove_GetX(enemy)<0 || ObjMove_GetX(enemy)>gsfw) { ObjRender_SetX(marker,-100); }

		alpha = 144+absolute(ObjMove_GetX(enemy)-GetPlayerX)*2;
		ObjPrim_SetVertexColor(marker,0,R,G,B);
		ObjPrim_SetVertexColor(marker,1,R,G,B);
		ObjPrim_SetVertexColor(marker,2,R,G,B);
		ObjPrim_SetVertexColor(marker,3,R,G,B);
		ObjPrim_SetVertexAlpha(marker,0,alpha);
		ObjPrim_SetVertexAlpha(marker,1,alpha);
		ObjPrim_SetVertexAlpha(marker,2,alpha);
		ObjPrim_SetVertexAlpha(marker,3,alpha);
		yield;
	}
        Obj_Delete(marker);
}