Sly Engine
ParticleFactory Class Reference

#include <ParticleFactory.h>

Collaboration diagram for ParticleFactory:
Collaboration graph

Public Types

typedef ItemList::iterator StorageRef
 

Static Public Member Functions

static ParticleCreateParticle (Vect pos, Vect direction, float speed)
 
static void RecycleParticle (Particle *p)
 
static void Terminate ()
 

Private Types

typedef std::list< Particle * > ItemList
 

Private Member Functions

 ParticleFactory ()
 
 ParticleFactory (const ParticleFactory &)=delete
 
 ParticleFactory (ParticleFactory &&)=delete
 
ParticleFactoryoperator= (const ParticleFactory &)=delete
 
ParticleFactoryoperator= (ParticleFactory &&)=delete
 
 ~ParticleFactory ()=default
 
ParticleprivCreateParticle (Vect iPos, Vect iDirection, float iSpeed)
 
void privRecycleParticle (Particle *p)
 
void privTerminate ()
 

Static Private Member Functions

static ParticleFactoryInstance ()
 

Private Attributes

ParticleMemoryPool myParticlePool
 
ItemListactiveItems
 

Static Private Attributes

static ParticleFactoryptrInstance = nullptr
 

Member Typedef Documentation

◆ ItemList

typedef std::list<Particle*> ParticleFactory::ItemList
private

◆ StorageRef

typedef ItemList::iterator ParticleFactory::StorageRef

Constructor & Destructor Documentation

◆ ParticleFactory() [1/3]

ParticleFactory::ParticleFactory ( )
private
Here is the caller graph for this function:

◆ ParticleFactory() [2/3]

ParticleFactory::ParticleFactory ( const ParticleFactory )
privatedelete

◆ ParticleFactory() [3/3]

ParticleFactory::ParticleFactory ( ParticleFactory &&  )
privatedelete

◆ ~ParticleFactory()

ParticleFactory::~ParticleFactory ( )
privatedefault

Member Function Documentation

◆ CreateParticle()

static Particle* ParticleFactory::CreateParticle ( Vect  pos,
Vect  direction,
float  speed 
)
inlinestatic
Here is the call graph for this function:

◆ Instance()

static ParticleFactory& ParticleFactory::Instance ( )
inlinestaticprivate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=() [1/2]

ParticleFactory& ParticleFactory::operator= ( const ParticleFactory )
privatedelete

◆ operator=() [2/2]

ParticleFactory& ParticleFactory::operator= ( ParticleFactory &&  )
privatedelete

◆ privCreateParticle()

Particle * ParticleFactory::privCreateParticle ( Vect  iPos,
Vect  iDirection,
float  iSpeed 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ privRecycleParticle()

void ParticleFactory::privRecycleParticle ( Particle p)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ privTerminate()

void ParticleFactory::privTerminate ( )
private
Here is the caller graph for this function:

◆ RecycleParticle()

static void ParticleFactory::RecycleParticle ( Particle p)
inlinestatic
Here is the call graph for this function:

◆ Terminate()

static void ParticleFactory::Terminate ( )
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ activeItems

ItemList* ParticleFactory::activeItems
private

◆ myParticlePool

ParticleMemoryPool ParticleFactory::myParticlePool
private

◆ ptrInstance

ParticleFactory * ParticleFactory::ptrInstance = nullptr
staticprivate

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