Example #1
0
bool GameEntity::HitTest(GameEntity & ge)
{
	if(shapeType==S_Circle)
	{
		if(ge.GetShape()==S_Circle)
		{
			return HitTestCircles(GetCircle(),ge.GetCircle());
		}
		else if(ge.GetShape()==S_Box)
		{
			//这个暂时没做
			return false;
		}
		else if(ge.GetShape()==S_Beam)
		{
			return HitTestBeamCircle(ge.GetBeam(),circle);
		}
	}
	else if(shapeType==S_Box)
	{
		if(ge.GetShape()==S_Circle)
		{
			//这个暂时没做 circle box
			return false;
		}
		else if(ge.GetShape()==S_Box)
		{
			//这个暂时没做 box box
			return false;
		}
		else if(ge.GetShape()==S_Beam)
		{
			return HitTestBeamBox(ge.GetBeam(),box);
		}
	}
	else if(shapeType==S_Beam)
	{
		if(ge.GetShape()==S_Circle)
		{
			//beam circle
			return HitTestBeamCircle(beam,ge.GetCircle());
		}
		else if(ge.GetShape()==S_Box)
		{
			return HitTestBeamBox(beam,ge.GetBox());
		}
		else if(ge.GetShape()==S_Beam)
		{
			//这个暂时没做 beam beam
			return false;
		}
	}


	return false;
}