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 PolicygetPolicy () const
 
template<typename Component , typename... Args>
Componentadd (Entity entity, Args &&... args)
 
template<typename Component >
void clear ()
 
template<typename Component >
bool has (Entity entity) const
 
template<typename Component >
Componentwrite (Entity entity)
 
template<typename Component >
const Componentread (Entity entity) const
 
template<NonSingletonComponentType Component>
const autoread () const
 
template<SingletonComponentType Component>
const autoread () const
 
template<NonSingletonComponentType Component>
autowrite ()
 
template<SingletonComponentType Component>
autowrite ()
 
template<SingletonComponentType Component>
std::optional< EntitygetEntity () const
 
const std::optional< EntitygetParent (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: