#include <Collision.hpp>
Public Member Functions | |
CollisionSystem (eng::IRenderer &renderer) | |
~CollisionSystem () override=default | |
CollisionSystem (const CollisionSystem &)=delete | |
CollisionSystem & | operator= (const CollisionSystem &)=delete |
CollisionSystem (CollisionSystem &&)=delete | |
CollisionSystem & | operator= (CollisionSystem &&)=delete |
bool | isEnable () override |
void | setEnable (bool enable) override |
void | update (ecs::Registry ®istry, float dt) override |
![]() | |
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 ®istry, ecs::Entity entity) |
void | removeEnemy (ecs::Registry ®istry, ecs::Entity entity) |
void | removeAsteroid (ecs::Registry ®istry, ecs::Entity entity) |
void | createExplosion (ecs::Registry ®istry, float x, float y) |
Private Attributes | |
eng::IRenderer & | m_renderer |
Definition at line 20 of file Collision.hpp.
|
inlineexplicit |
Definition at line 23 of file Collision.hpp.
|
overridedefault |
|
delete |
|
delete |
|
inlineprivate |
Definition at line 119 of file Collision.hpp.
References ecs::Hitbox::radius, ecs::Transform::x, and ecs::Transform::y.
Referenced by update().
|
inlineprivate |
Definition at line 188 of file Collision.hpp.
References cli::GameConfig::Explosion::ANIMATION_DURATION, cli::GameConfig::Explosion::ANIMATION_FRAMES, ecs::Registry::createEntity(), cli::GameConfig::Explosion::FRAMES_PER_ROW, cli::GameConfig::Explosion::LIFETIME, cli::GameConfig::Explosion::SCALE, cli::GameConfig::Explosion::SPRITE_HEIGHT, cli::GameConfig::Explosion::SPRITE_WIDTH, cli::Path::Texture::TEXTURE_EXPLOSION, and ecs::Registry::EntityBuilder::with().
Referenced by update().
|
inlineoverridevirtual |
Implements eng::ISystem.
Definition at line 31 of file Collision.hpp.
|
delete |
|
delete |
|
inlineprivate |
Definition at line 170 of file Collision.hpp.
References ecs::Registry::hasComponent(), and ecs::Registry::removeComponent().
Referenced by update().
|
inlineprivate |
Definition at line 150 of file Collision.hpp.
References ecs::Registry::hasComponent(), and ecs::Registry::removeComponent().
Referenced by update().
|
inlineprivate |
Definition at line 130 of file Collision.hpp.
References ecs::Registry::hasComponent(), and ecs::Registry::removeComponent().
Referenced by update().
|
inlineoverridevirtual |
Implements eng::ISystem.
Definition at line 32 of file Collision.hpp.
|
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().
|
private |
Definition at line 117 of file Collision.hpp.