Shkyera Engine
Easy to use, game engine for Python
Loading...
Searching...
No Matches
shkyera::ParticleSystem Class Reference

#include <ParticleSystem.hpp>

Inheritance diagram for shkyera::ParticleSystem:
[legend]

Public Member Functions

 ParticleSystem (std::shared_ptr< Registry > registry)
 
void update ()
 
- Public Member Functions inherited from shkyera::RegistryViewer
template<typename... Resources>
 RegistryViewer (std::shared_ptr< Registry > registry, ReadAccess< Resources... > read)
 
template<typename... Resources>
 RegistryViewer (std::shared_ptr< Registry > registry, WriteAccess< Resources... > read)
 
template<typename... ReadResources, typename... WriteResources>
 RegistryViewer (std::shared_ptr< Registry > registry, ReadAccess< ReadResources... > read, WriteAccess< WriteResources... > write)
 
const Policy & getPolicy () const
 
template<typename Component , typename... Args>
Component & add (Entity entity, Args &&... args)
 
template<typename Component >
void clear ()
 
template<typename Component >
bool has (Entity entity) const
 
template<typename Component >
Component & write (Entity entity)
 
template<typename Component >
const Component & read (Entity entity) const
 
template<NonSingletonComponentType Component>
const auto & read () const
 
template<SingletonComponentType Component>
const auto * read () const
 
template<NonSingletonComponentType Component>
auto & write ()
 
template<SingletonComponentType Component>
auto * write ()
 
template<SingletonComponentType Component>
std::optional< Entity > getEntity () const
 
const std::optional< Entity > getParent (Entity entity) const
 
template<typename Component >
SparseSet< Component > & writeAll ()
 
template<typename Component >
const SparseSet< Component > & readAll () const
 

Private Member Functions

void updateParticles (ParticleEmitterComponent &emitter, const glm::mat4 &transformMatrix)
 
void ensureSufficientStateContainerSize (ParticleEmitterComponent &emitter)
 
void spawnParticles (ParticleEmitterComponent &emitter, const glm::mat4 &transformMatrix)
 
void updateLifetimes (ParticleEmitterComponent &emitter)
 
void updateEndToStartProgress (ParticleEmitterComponent &emitter)
 
void updateVelocities (ParticleEmitterComponent &emitter)
 
void updatePositions (ParticleEmitterComponent &emitter)
 
void updateSizes (ParticleEmitterComponent &emitter)
 
void updateTransparencies (ParticleEmitterComponent &emitter)
 

Constructor & Destructor Documentation

◆ ParticleSystem()

shkyera::ParticleSystem::ParticleSystem ( std::shared_ptr< Registry >  registry)

Member Function Documentation

◆ ensureSufficientStateContainerSize()

void shkyera::ParticleSystem::ensureSufficientStateContainerSize ( ParticleEmitterComponent &  emitter)
private

◆ spawnParticles()

void shkyera::ParticleSystem::spawnParticles ( ParticleEmitterComponent &  emitter,
const glm::mat4 &  transformMatrix 
)
private

◆ update()

void shkyera::ParticleSystem::update ( )

◆ updateEndToStartProgress()

void shkyera::ParticleSystem::updateEndToStartProgress ( ParticleEmitterComponent &  emitter)
private

◆ updateLifetimes()

void shkyera::ParticleSystem::updateLifetimes ( ParticleEmitterComponent &  emitter)
private

◆ updateParticles()

void shkyera::ParticleSystem::updateParticles ( ParticleEmitterComponent &  emitter,
const glm::mat4 &  transformMatrix 
)
private

◆ updatePositions()

void shkyera::ParticleSystem::updatePositions ( ParticleEmitterComponent &  emitter)
private

◆ updateSizes()

void shkyera::ParticleSystem::updateSizes ( ParticleEmitterComponent &  emitter)
private

◆ updateTransparencies()

void shkyera::ParticleSystem::updateTransparencies ( ParticleEmitterComponent &  emitter)
private

◆ updateVelocities()

void shkyera::ParticleSystem::updateVelocities ( ParticleEmitterComponent &  emitter)
private

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