OGL Engine 1.2.0-dev
|
Le BoxCollider est le collider le plus "simple" qui soit. Il s'agit d'une "box" qui se positionne au centre de l'entité, et s'étend autour d'elle. Pas optimal pour les entités arrondies, mais en 2D, avec des sprites, fait amplement l'affaire. More...
#include <collider.hpp>
Public Attributes | |
glm::vec3 | offset = {0.0f, 0.0f, 0.0f} |
Offset par rapport au transform.position de l'entité | |
glm::vec3 | size = {1.0f, 1.0f, 1.0f} |
Taille de la hitbox du collider. Pour des collisions indépendantes du rendu. | |
bool | isTrigger = false |
Si true, le collider est un trigger (superposition possible en ne résolvant pas les conditions) | |
bool | enableRotation = true |
Si true, le collider est mis à jour en fonction de l'angle de rotation du transform rattaché | |
AABB | aabb = {glm::vec2(0.0f), glm::vec2(0.0f)} |
La box AABB associée à ce collider. Mise à jour par le système physique lors de la gestion des mouvements. | |
std::unordered_map< EntityID, ColliderRecord > | collisionsList |
Liste des collisions en cours. | |
std::unordered_map< EntityID, ColliderRecord > | triggersList |
Liste des triggers en cours. | |
Public Attributes inherited from Engine::ECS::Component | |
bool | enabled = true |
Additional Inherited Members | |
Public Member Functions inherited from Engine::ECS::Component | |
Component ()=default | |
void | SetEntity (Entity e) |
Attache l'entité au component. | |
Entity & | GetEntity () const |
Renvoie l'entité attachée. | |
Registry & | GetRegistry () const |
Renvoie le registre actuel. | |
Scene::Scene & | GetScene () const |
Renvoie la scène en cours. | |
App & | GetApp () const |
Renvoie l'instance d'application. |
Le BoxCollider est le collider le plus "simple" qui soit. Il s'agit d'une "box" qui se positionne au centre de l'entité, et s'étend autour d'elle. Pas optimal pour les entités arrondies, mais en 2D, avec des sprites, fait amplement l'affaire.
AABB Engine::Physics::BoxCollider::aabb = {glm::vec2(0.0f), glm::vec2(0.0f)} |
La box AABB associée à ce collider. Mise à jour par le système physique lors de la gestion des mouvements.
std::unordered_map<EntityID, ColliderRecord> Engine::Physics::BoxCollider::collisionsList |
Liste des collisions en cours.
bool Engine::Physics::BoxCollider::enableRotation = true |
Si true, le collider est mis à jour en fonction de l'angle de rotation du transform rattaché
bool Engine::Physics::BoxCollider::isTrigger = false |
Si true, le collider est un trigger (superposition possible en ne résolvant pas les conditions)
glm::vec3 Engine::Physics::BoxCollider::offset = {0.0f, 0.0f, 0.0f} |
Offset par rapport au transform.position de l'entité
glm::vec3 Engine::Physics::BoxCollider::size = {1.0f, 1.0f, 1.0f} |
Taille de la hitbox du collider. Pour des collisions indépendantes du rendu.
std::unordered_map<EntityID, ColliderRecord> Engine::Physics::BoxCollider::triggersList |
Liste des triggers en cours.