TurtleBrains  0.3.0
High quality, portable, C++ API for native application and game development.
tb_particle_emitter.h
1 
9 #ifndef _TurtleBrains_ParticleEmitter_h_
10 #define _TurtleBrains_ParticleEmitter_h_
11 
12 #include "tb_particle_manager.h"
13 #include "../tb_graphic_list.h"
14 
15 #include "../../core/tb_types.h"
16 #include "../../math/tb_vector.h"
17 
18 #include <list>
19 
20 namespace TurtleBrains
21 {
22  namespace Graphics
23  {
24  namespace Unstable
25  {
30  class ParticleEmitter : public Graphic
31  {
32  public:
33  ParticleEmitter(const tbCore::tbString& particleSheet, const tbCore::tbString& emitterName);
34  virtual ~ParticleEmitter(void);
35 
36  void StartEmitter(void);
37  void StopEmitter(void);
38 
39  protected:
40  virtual void OnUpdate(const float deltaTime) override;
41  virtual void OnRender(void) const override;
42 
43  private:
44  tbImplementation::Particle CreateEmittedParticle(void);
45 
46  tbCore::uint32 mLifeTimer;
47  tbCore::uint32 mSpawnTimer;
48 
49  EmitterDefinition mEmitterDefinition;
50  };
51 
52  } /* namespace Unstable */
53  }; /* namespace Graphics */
54 }; /* namespace TurtleBrains */
55 
57 
58 #endif /* _TurtleBrains_ParticleEmitter_h_ */
Definition: tb_graphic.h:61
Give the GameScene and Entities something to display, Text, Sprites and AnimatedSprites help bring th...
Definition: tb_particle_manager.h:107
Contains all functions, classes and helpers related to game/application development written by Tim "B...
Definition: tb_application_dialog.h:21
Definition: tb_particle_manager.h:28
virtual void OnUpdate(const float deltaTime) override
Definition: tb_particle_emitter.h:30
virtual void OnRender(void) const override
uint32_t uint32
Unsigned integer with a size of 32 bits. Supports values from 0 to 4294967295, (2^32 - 1)...
Definition: tb_types.h:28
std::string tbString
Definition: tb_string.h:335