#include "CollisionSystem.hpp"
#include "IndexedZipper.hpp"
#include "Components.hpp"
#include "SpawnSystem.hpp"
#include "WinSystem.hpp"
Go to the source code of this file.
|
void | collision_player_missile (Registry &r, std::size_t &entity1, std::size_t &entity2) |
|
void | collision_monster_missile (Registry &r, std::size_t &entity1, std::size_t &entity2) |
|
void | collision_player_obstacle (Registry &r, std::size_t &entity1, std::size_t &entity2) |
|
void | collision_monster_obstacle (Registry &r, std::size_t &entity1, std::size_t &entity2) |
|
void | collision_player_powerup (Registry &r, std::size_t &entity1, std::size_t &entity2) |
|
void | collision_obstacle_missile (Registry &r, std::size_t &entity1, std::size_t &entity2) |
|
void | collision_system (Registry &r, ComponentContainer< Position > &positions, ComponentContainer< Collider > &colliders, ComponentContainer< Type > &types) |
| Collision detection and resolution system.
|
|
◆ collision_monster_missile()
void collision_monster_missile |
( |
Registry & | r, |
|
|
std::size_t & | entity1, |
|
|
std::size_t & | entity2 ) |
◆ collision_monster_obstacle()
void collision_monster_obstacle |
( |
Registry & | r, |
|
|
std::size_t & | entity1, |
|
|
std::size_t & | entity2 ) |
◆ collision_obstacle_missile()
void collision_obstacle_missile |
( |
Registry & | r, |
|
|
std::size_t & | entity1, |
|
|
std::size_t & | entity2 ) |
◆ collision_player_missile()
void collision_player_missile |
( |
Registry & | r, |
|
|
std::size_t & | entity1, |
|
|
std::size_t & | entity2 ) |
◆ collision_player_obstacle()
void collision_player_obstacle |
( |
Registry & | r, |
|
|
std::size_t & | entity1, |
|
|
std::size_t & | entity2 ) |
◆ collision_player_powerup()
void collision_player_powerup |
( |
Registry & | r, |
|
|
std::size_t & | entity1, |
|
|
std::size_t & | entity2 ) |
◆ collision_system()
Collision detection and resolution system.
This function handles the detection of collisions between game entities, such as players, monsters, and obstacles. It checks for overlap between entities' positions and takes appropriate actions based on the nature of the collision, such as applying damage or triggering events.
- Parameters
-
r | The Registry that contains all game entities and their components. |
positions | The container of the component Position . |
colliders | The container of the component Collider . |
types | The container of the component Type . |
Definition at line 102 of file CollisionSystem.cpp.
◆ collisions
const std::unordered_map<std::pair<type_enum, type_enum>, std::function<void(Registry &, std::size_t &, std::size_t &)> > collisions |
Initial value:= {
}
void collision_monster_obstacle(Registry &r, std::size_t &entity1, std::size_t &entity2)
void collision_obstacle_missile(Registry &r, std::size_t &entity1, std::size_t &entity2)
void collision_player_powerup(Registry &r, std::size_t &entity1, std::size_t &entity2)
void collision_player_missile(Registry &r, std::size_t &entity1, std::size_t &entity2)
void collision_monster_missile(Registry &r, std::size_t &entity1, std::size_t &entity2)
void collision_player_obstacle(Registry &r, std::size_t &entity1, std::size_t &entity2)
Definition at line 93 of file CollisionSystem.cpp.