-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCollision.c
30 lines (22 loc) · 821 Bytes
/
Collision.c
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
29
30
#include "raylib.h"
#include "Collision.h"
#include "ECS.h"
#include "Hash_Table.h"
extern struct Component_Tables components;
bool checkPair(unsigned long idA, unsigned long idB) {
struct Collision* cCollisionA = hashTableFind(components.collision, idA);
struct Collision* cCollisionB = hashTableFind(components.collision, idB);
struct Position* cPositionA = hashTableFind(components.position, idA);
struct Position* cPositionB = hashTableFind(components.position, idB);
float sizeA, sizeB;
Vector2 posA, posB;
if (cPositionA && cPositionB) {
float sizeA = cCollisionA->size;
float sizeB = cCollisionB->size;
}
if (cCollisionA && cCollisionB) {
Vector2 posA = cPositionA->position;
Vector2 posB = cPositionB->position;
}
return CheckCollisionCircles(posA, sizeA, posB, sizeB);
}