summaryrefslogtreecommitdiffstats
path: root/src/Collision.cpp
blob: 0caad037d62ba280da4a6dd3b1f533a65a5b46a9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include "Collision.hpp"

bool TestCollision(const AABB& first, const AABB& second) {
	double firstXl = first.x;
	double firstXr = first.x + first.w;

	double firstYl = first.y;
	double firstYr = first.y + first.h;

	double firstZl = first.z;
	double firstZr = first.z + first.l;


	double secondXl = second.x;
	double secondXr = second.x + second.w;

	double secondYl = second.y;
	double secondYr = second.y + second.h;

	double secondZl = second.z;
	double secondZr = second.z + second.l;

	bool collidesOnX = firstXr >= secondXl && firstXl <= secondXr;
	bool collidesOnY = firstYr >= secondYl && firstYl <= secondYr;
	bool collidesOnZ = firstZr >= secondZl && firstZl <= secondZr;

	return collidesOnX && collidesOnY && collidesOnZ;
}