OGL Engine 1.2.0-dev
Loading...
Searching...
No Matches
collider.hpp
Go to the documentation of this file.
1
7#pragma once
8#include <functional>
9
10#include "../ecs/component.hpp"
11#include "aabb.hpp"
12
13namespace Engine::Physics {
21 float duration = 0.0f;
22 bool isTrigger = false;
23 bool updatedThisFrame = false;
24 };
25
31 struct BoxCollider : public ECS::Component {
33 glm::vec3 offset = {0.0f, 0.0f, 0.0f};
35 glm::vec3 size = {1.0f, 1.0f, 1.0f};
37 bool isTrigger = false;
39 bool enableRotation = true;
40
42 AABB aabb = {glm::vec2(0.0f), glm::vec2(0.0f)};
44 std::unordered_map<EntityID, ColliderRecord> collisionsList;
46 std::unordered_map<EntityID, ColliderRecord> triggersList;
47 };
48}
Contient la déclaration de la structure AABB.
Classe Component à dériver pour pouvoir être utilisée dans les systèmes ECS.
Definition component.hpp:18
Définit un component de base dans le cadre d'un ECS.
Definition aabb.hpp:10
std::uint32_t EntityID
Définition de type pour mieux identifier les EntityID.
Definition defs.hpp:13
Axis Aligned Bounding Box.
Definition aabb.hpp:17
Le BoxCollider est le collider le plus "simple" qui soit. Il s'agit d'une "box" qui se positionne au ...
Definition collider.hpp:31
AABB aabb
La box AABB associée à ce collider. Mise à jour par le système physique lors de la gestion des mouvem...
Definition collider.hpp:42
std::unordered_map< EntityID, ColliderRecord > triggersList
Liste des triggers en cours.
Definition collider.hpp:46
std::unordered_map< EntityID, ColliderRecord > collisionsList
Liste des collisions en cours.
Definition collider.hpp:44
glm::vec3 size
Taille de la hitbox du collider. Pour des collisions indépendantes du rendu.
Definition collider.hpp:35
bool enableRotation
Si true, le collider est mis à jour en fonction de l'angle de rotation du transform rattaché
Definition collider.hpp:39
glm::vec3 offset
Offset par rapport au transform.position de l'entité
Definition collider.hpp:33
bool isTrigger
Si true, le collider est un trigger (superposition possible en ne résolvant pas les conditions)
Definition collider.hpp:37
Une entrée qui permet de savoir quelles entités sont en collision avec un Collider On a des maps de C...
Definition collider.hpp:19
float duration
Definition collider.hpp:21
bool isTrigger
Definition collider.hpp:22
bool updatedThisFrame
Definition collider.hpp:23
EntityID other
Definition collider.hpp:20