r-type  0.0.0
R-Type main
Loading...
Searching...
No Matches
cli::ProjectileManager Class Reference

Handles projectile creation and management. More...

#include <ProjectileManager.hpp>

+ Collaboration diagram for cli::ProjectileManager:

Public Member Functions

 ProjectileManager ()=default
 
 ~ProjectileManager ()=default
 
 ProjectileManager (const ProjectileManager &)=delete
 
ProjectileManageroperator= (const ProjectileManager &)=delete
 
 ProjectileManager (ProjectileManager &&)=delete
 
ProjectileManageroperator= (ProjectileManager &&)=delete
 

Static Public Member Functions

static ecs::Entity createBasicProjectile (ecs::Registry &registry, float x, float y, float velocityX, float velocityY)
 Create a basic projectile.
 
static ecs::Entity createSuperchargedProjectile (ecs::Registry &registry, float x, float y, float velocityX, float velocityY)
 Create a supercharged projectile.
 

Static Private Member Functions

static ecs::Entity createProjectile (ecs::Registry &registry, ecs::Projectile::Type type, float x, float y, float velocityX, float velocityY)
 Create a projectile with given parameters.
 

Detailed Description

Handles projectile creation and management.

Definition at line 20 of file ProjectileManager.hpp.

Constructor & Destructor Documentation

◆ ProjectileManager() [1/3]

cli::ProjectileManager::ProjectileManager ( )
default

◆ ~ProjectileManager()

cli::ProjectileManager::~ProjectileManager ( )
default

◆ ProjectileManager() [2/3]

cli::ProjectileManager::ProjectileManager ( const ProjectileManager & )
delete

◆ ProjectileManager() [3/3]

cli::ProjectileManager::ProjectileManager ( ProjectileManager && )
delete

Member Function Documentation

◆ createBasicProjectile()

ecs::Entity cli::ProjectileManager::createBasicProjectile ( ecs::Registry & registry,
float x,
float y,
float velocityX,
float velocityY )
static

Create a basic projectile.

Parameters
registryThe ECS registry
xX position
yY position
velocityXX velocity
velocityYY velocity
Returns
The created entity

Definition at line 13 of file ProjectileManager.cpp.

References ecs::Projectile::BASIC, and createProjectile().

Referenced by cli::WeaponSystem::tryFireBasic().

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

◆ createProjectile()

ecs::Entity cli::ProjectileManager::createProjectile ( ecs::Registry & registry,
ecs::Projectile::Type type,
float x,
float y,
float velocityX,
float velocityY )
staticprivate

Create a projectile with given parameters.

Parameters
registryThe ECS registry
typeProjectile type
xX position
yY position
velocityXX velocity
velocityYY velocity
Returns
The created entity

Definition at line 25 of file ProjectileManager.cpp.

References ecs::Projectile::BASIC, ecs::Registry::createEntity(), cli::GameConfig::Hitbox::PROJECTILE_BASIC_RADIUS, cli::GameConfig::Hitbox::PROJECTILE_SUPERCHARGED_RADIUS, cli::Path::Texture::TEXTURE_SHOOT, cli::Path::Texture::TEXTURE_SHOOT_CHARGED, and ecs::Registry::EntityBuilder::with().

Referenced by createBasicProjectile(), and createSuperchargedProjectile().

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

◆ createSuperchargedProjectile()

ecs::Entity cli::ProjectileManager::createSuperchargedProjectile ( ecs::Registry & registry,
float x,
float y,
float velocityX,
float velocityY )
static

Create a supercharged projectile.

Parameters
registryThe ECS registry
xX position
yY position
velocityXX velocity
velocityYY velocity
Returns
The created entity

Definition at line 19 of file ProjectileManager.cpp.

References createProjectile(), and ecs::Projectile::SUPERCHARGED.

Referenced by cli::WeaponSystem::tryFireSupercharged().

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

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

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