//====================================-
//XNvgpCuREMY
//ړ֐
//GXNvgɃ^XNЂƂ
//====================================


let m_MovingStatus =0;
let check_LRmove = false;
let m_MovingValue = 0;

//ړOtBbNύXp

//state_max		ړOtBbNp^[BʁAEA̎Ȍꍇ͂PAʁAE1AE2A1A2̏ꍇ͂Q
//count_state	OtBbN̃JEg

//ړŃAj[Vꍇp̃^XNłB
//Xe[WXNvgłǂލޓsAGetSpeedX()𒼏łȂ̂ŁA
//REMY_LRMove_Set(GetSpeedX());@Ƃs𖈃t[sĂB
//ړƃJEgAJEgo߂m_MoveingStatus̒lω܂
//q̊֐m_MoveingStatus擾AAj[VǗɏ[ĂĂ

//܂Ã^XN͕NȂŉ

task initialize_REMY_LRMove(let state_max, let count_state)
{

	if(check_LRmove){
		private_REMY_ErrorDouble("TaskLRMoveStatus");
	}else{
		check_LRmove = true;
	}

	let counter = 0;
	let counter_max = count_state * state_max -1;
	loop{
		alternative( m_MovingValue )
		case(-1)	{ counter = REMY_Math_Limit(counter-1, -counter_max ,0, false); }
		case(1)		{ counter = REMY_Math_Limit(counter+1, 0, counter_max , false); }
		case(0)		{ counter += (REMY_Math_Sign( counter ) * (-1)); }

		if( counter > 0 ){
			m_MovingStatus = 1 + trunc(counter / count_state);
		}
		else if( counter < 0 ){
			m_MovingStatus = (-1) * (1 + trunc(absolute(counter) / count_state));
		}
		else{
			m_MovingStatus = 0;
		}

		yield;
	}
	return;

}//end task

function REMY_LRMove_Get()
{
	return m_MovingStatus;
}//end function


function REMY_LRMove_Set(let val)
{
	m_MovingValue = REMY_Math_Sign(val);
}//end function

