/***************************************************************/
//
//		DirectX	[config.cpp]
//												Author	kazuki tanaka
//												Date	2016 05/30
/*---------------------------------------------------------------
■Update : 2016/06/19
			config.cppの作成

/*---------------------------------------------------------------
	インクルードファイル
---------------------------------------------------------------*/
#include "main.h"
#include <stdlib.h>
#include <math.h>
#include "config.h"
#include "player.h"
#include "field.h"

/*---------------------------------------------------------------
	マクロ定義
---------------------------------------------------------------*/
/*---------------------------------------------------------------
	定数定義
---------------------------------------------------------------*/
/*---------------------------------------------------------------
	プロトタイプ宣言
---------------------------------------------------------------*/

/*----------------------------------------------------------------
	グローバル変数
----------------------------------------------------------------*/

//オブジェクトのあたり判定
bool objectConfig( ){

	float objectX;
	float objectY;
	float objectBX;
	float objectBY;

	VECTOR_2D vec;
	VECTOR_2D objVec;

	vec = GetPlayerPos( );

	objectY = GetFieldPos( );

	if(objectY+1 > vec.sy  && objectY-1 < vec.sy ){

		return true;
	}
	if( vec.sy + 400 > 500.0f )
	{
		return true;
	}

	/*
	//	basic当たり判定
	if( (vec.sx < objVec.sx && objVec.sx < vec.ex) && (vec.sy < objVec.sy < vec.ey) ){
	
	}
	if( (vec.sx < objVec.ex && objVec.sx < vec.ex) && (vec.sy < objVec.sy < vec.ey) ){
	
	}
	if( (vec.sx < objVec.sx && objVec.sx < vec.ex) && (vec.sy < objVec.ey < vec.ey) ){
	
	}
	if( (vec.sx < objVec.ex && objVec.sx < vec.ex) && (vec.sy < objVec.ey < vec.ey) ){
	
	}
	*/
	//通り抜け処理
	/*

	//←
	for( int inc=vec.prevX ; inc < vec.sx ;inc++ ){
		if( objVec.sx < vec.prevX && vec.prevX < objVec.ex ){
			vec.sx = objVec.sx+1;
			vec.ex = objVec.ex+1;
			break;
		}
	}

	//→
	for( int inc=vec.prevX ; inc < vec.ex ;inc++ ){
		if( objVec.sx < vec.prevX && vec.prevX < objVec.ex ){
			vec.sx = objVec.sx-1;
			vec.ex = objVec.ex-1;
			break;
		}
	}

	//↓
	for( int inc=vec.prevY ; inc < vec.sy ;inc++ ){
		if( objVec.sy < vec.prevX && vec.prevY < objVec.ey ){
			vec.sy = objVec.sy-1;
			vec.ey = objVec.ey-1;
			break;
		}
	}

	//↑
	for( int inc=vec.prevY ; inc < vec.ey ;inc++ ){
		if( objVec.sy < vec.prevX && vec.prevY < objVec.ey ){
			vec.sy = objVec.sy-1;
			vec.ey = objVec.ey-1;
			break;
		}
	}
	*/
	

	return false;

}
// 球体とのあたり判定
bool CubeConfig( VECTOR_2D vec, float cx, float cy , float r )
{
	float distance;		//距離

	// 球とプリミティブの距離測定
	distance = sqrt( ((cx-vec.sx)*(cx-vec.sx)) + ((cy-vec.sy)*(cy-vec.sy)) ); 

	// 判定
	if( r >= distance ){
	
		return true;	//接している
	
	}
	else{
	
		return false;	//接していない
	
	}

}