r-type  0.0.0
R-Type main
Loading...
Searching...
No Matches
cli::CollisionSystem Class Referencefinal

#include <Collision.hpp>

+ Inheritance diagram for cli::CollisionSystem:
+ Collaboration diagram for cli::CollisionSystem:

Public Member Functions

 CollisionSystem (eng::IRenderer &renderer)
 
 ~CollisionSystem () override=default
 
 CollisionSystem (const CollisionSystem &)=delete
 
CollisionSystemoperator= (const CollisionSystem &)=delete
 
 CollisionSystem (CollisionSystem &&)=delete
 
CollisionSystemoperator= (CollisionSystem &&)=delete
 
bool isEnable () override
 
void setEnable (bool enable) override
 
void update (ecs::Registry &registry, float dt) override
 
- Public Member Functions inherited from eng::ISystem
virtual ~ISystem ()=default
 

Private Member Functions

bool checkCircularCollision (const ecs::Transform &transform1, const ecs::Hitbox &hitbox1, const ecs::Transform &transform2, const ecs::Hitbox &hitbox2)
 
void removeProjectile (ecs::Registry &registry, ecs::Entity entity)
 
void removeEnemy (ecs::Registry &registry, ecs::Entity entity)
 
void removeAsteroid (ecs::Registry &registry, ecs::Entity entity)
 
void createExplosion (ecs::Registry &registry, float x, float y)
 

Private Attributes

eng::IRendererm_renderer
 

Detailed Description

Definition at line 20 of file Collision.hpp.

Constructor & Destructor Documentation

◆ CollisionSystem() [1/3]

cli::CollisionSystem::CollisionSystem ( eng::IRenderer & renderer)
inlineexplicit

Definition at line 23 of file Collision.hpp.

◆ ~CollisionSystem()

cli::CollisionSystem::~CollisionSystem ( )
overridedefault

◆ CollisionSystem() [2/3]

cli::CollisionSystem::CollisionSystem ( const CollisionSystem & )
delete

◆ CollisionSystem() [3/3]

cli::CollisionSystem::CollisionSystem ( CollisionSystem && )
delete

Member Function Documentation

◆ checkCircularCollision()

bool cli::CollisionSystem::checkCircularCollision ( const ecs::Transform & transform1,
const ecs::Hitbox & hitbox1,
const ecs::Transform & transform2,
const ecs::Hitbox & hitbox2 )
inlineprivate

Definition at line 119 of file Collision.hpp.

References ecs::Hitbox::radius, ecs::Transform::x, and ecs::Transform::y.

Referenced by update().

+ Here is the caller graph for this function:

◆ createExplosion()

◆ isEnable()

bool cli::CollisionSystem::isEnable ( )
inlineoverridevirtual

Implements eng::ISystem.

Definition at line 31 of file Collision.hpp.

◆ operator=() [1/2]

CollisionSystem & cli::CollisionSystem::operator= ( CollisionSystem && )
delete

◆ operator=() [2/2]

CollisionSystem & cli::CollisionSystem::operator= ( const CollisionSystem & )
delete

◆ removeAsteroid()

void cli::CollisionSystem::removeAsteroid ( ecs::Registry & registry,
ecs::Entity entity )
inlineprivate

Definition at line 170 of file Collision.hpp.

References ecs::Registry::hasComponent(), and ecs::Registry::removeComponent().

Referenced by update().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ removeEnemy()

void cli::CollisionSystem::removeEnemy ( ecs::Registry & registry,
ecs::Entity entity )
inlineprivate

Definition at line 150 of file Collision.hpp.

References ecs::Registry::hasComponent(), and ecs::Registry::removeComponent().

Referenced by update().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ removeProjectile()

void cli::CollisionSystem::removeProjectile ( ecs::Registry & registry,
ecs::Entity entity )
inlineprivate

Definition at line 130 of file Collision.hpp.

References ecs::Registry::hasComponent(), and ecs::Registry::removeComponent().

Referenced by update().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setEnable()

void cli::CollisionSystem::setEnable ( bool enable)
inlineoverridevirtual

Implements eng::ISystem.

Definition at line 32 of file Collision.hpp.

◆ update()

void cli::CollisionSystem::update ( ecs::Registry & registry,
float dt )
inlineoverridevirtual

Implements eng::ISystem.

Definition at line 34 of file Collision.hpp.

References checkCircularCollision(), createExplosion(), ecs::Registry::getAll(), ecs::Registry::getComponent(), removeAsteroid(), removeEnemy(), and removeProjectile().

+ Here is the call graph for this function:

Member Data Documentation

◆ m_renderer

eng::IRenderer& cli::CollisionSystem::m_renderer
private

Definition at line 117 of file Collision.hpp.


The documentation for this class was generated from the following file: