7#include "ColliderComponent.h"
10#include <SDL3/SDL_rect.h>
11#include "SpriteComponent.h"
16#include <initializer_list>
25constexpr uint8_t DIRECTION_C = 4;
27using IntersectionBitSet = std::bitset<DIRECTION_C>;
38 CollisionHandler(
Manager& mManager) :
39 manager(mManager) { };
49 Vector2D posModA = Vector2D(0,0),
50 Vector2D posModB = Vector2D(0,0));
51 static IntersectionBitSet getIntersectionWithBounds(
53 Vector2D posMod = Vector2D(0,0));
56 std::vector<ColliderComponent*> getColliders(
57 std::initializer_list<Entity::GroupLabel>
const& groupLabels,
58 std::initializer_list<Entity*>
const& excludedEntities = {});
78 std::initializer_list<Entity::GroupLabel>
const& groupLabels = {},
79 std::initializer_list<Entity*>
const& excludedEntities = {});
Adds a collision box to an entity when added via entity.addComponent()
Definition ColliderComponent.h:12
static IntersectionBitSet getIntersection(Entity *entityA, Entity *entityB, Vector2D posModA=Vector2D(0, 0), Vector2D posModB=Vector2D(0, 0))
Checks for intersections relative to entityA.
Definition CollisionHandler.cpp:15
T getAnyIntersection(Entity *entity, Vector2D posMod={}, std::initializer_list< Entity::GroupLabel > const &groupLabels={}, std::initializer_list< Entity * > const &excludedEntities={})
Tests entity against all entities with the specified labels for a collision.
Main class for any object in game, stores associations, labeling and components.
Definition Entity.h:35
Is responsible for managing all entities.
Definition Manager.h:23