9 #ifndef _TurtleBrains_ParticleManager_h_
10 #define _TurtleBrains_ParticleManager_h_
12 #include "../../core/tb_string.h"
13 #include "../../core/tb_noncopyable.h"
14 #include "../../core/tb_types.h"
15 #include "../../math/tb_vector.h"
16 #include "../tb_sprite.h"
36 float mDragCoefficient;
45 bool Update(
const float deltaTime);
65 explicit RangedType(
const Type& minimumValue,
const Type& maximumValue) :
66 mMinimumValue(minimumValue),
67 mMaximumValue(maximumValue)
69 tb_error_if(maximumValue < minimumValue,
"tbExternalError: Expected minimumValue to be less-than-or-equal-to maximumValue.");
76 void SetRange(
const Type& minimumValue,
const Type& maximumValue)
78 tb_error_if(maximumValue < minimumValue,
"tbExternalError: Expected minimumValue to be less-than-or-equal-to maximumValue.");
79 mMinimumValue = minimumValue;
80 mMaximumValue = maximumValue;
83 const Type& Minimum(
void)
const {
return mMinimumValue; }
84 const Type& Maximum(
void)
const {
return mMaximumValue; }
110 std::vector<ParticleDefinition> mParticleDefinitions;
133 void ClearAllParticles(
void);
135 void UpdateParticles(
const float deltaTime);
136 void RenderParticles(
void)
const;
139 typedef std::list<tbImplementation::Particle> ParticleList;
140 typedef std::map<tbGraphics::TextureHandle, ParticleList> ParticleTable;
142 ParticleTable mParticleTable;
146 typedef std::map<tbCore::tbString, ParticleDefinition> ParticleDefinitionTable;
147 typedef std::map<tbCore::tbString, EmitterDefinition> EmitterDefinitionTable;
149 ParticleDefinitionTable mParticles;
150 EmitterDefinitionTable mEmitters;
153 typedef std::map<tbCore::tbString, ParticleSheet> ParticleSheetTable;
154 ParticleSheetTable mParticleSheets;
Definition: tb_vector.h:47
Definition: tb_particle_manager.h:91
Give the GameScene and Entities something to display, Text, Sprites and AnimatedSprites help bring th...
Definition: tb_sprite.h:29
Definition: tb_particle_manager.h:107
unsigned int TextureHandle
Definition: tb_texture_manager.h:41
Definition: tb_particle_manager.h:56
Definition: tb_noncopyable.h:22
Contains all functions, classes and helpers related to game/application development written by Tim "B...
Definition: tb_application_dialog.h:21
Definition: tb_color.h:23
Definition: tb_particle_manager.h:28
uint8_t uint8
Unsigned integer with a size of 8 bits. Supports values from 0 to 255.
Definition: tb_types.h:23
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
#define tb_error_if(errorTest, message,...)
Definition: tb_error.h:37
std::string tbString
Definition: tb_string.h:335
Definition: tb_application_dialog.h:19
Definition: tb_particle_manager.h:122