Particle Game Maker Engine  1.0.0
Enables the user to create their own particle game using a simple and coherent api in the PongChamp scripting language
ParticleGroup.h
Go to the documentation of this file.
1 #ifndef PARTICLE_H
2 #define PARTICLE_H
3 
4 #include <string>
5 #include <iostream>
6 #include "vector"
7 #include "map"
8 
11 class CollideFuncObject;
12 class UpdateFuncObject;
14 
15 typedef unsigned int U32;
16 
20 struct Color
21 {
22  int r, g, b;
23 };
24 
29 {
30 
31 public:
32  ParticleGroup(Color c, std::string name);
33 
40 
47 
52 
56  UpdateFuncObject **getUpdateFs(int *size);
57 
58  Color c;
59  std::string name;
60 
61 private:
62  U32 m_uniqueId;
63  U32 m_handleIndex;
64 
65  std::map<ParticleGroup*, std::vector<CollideFuncObject *>> collideFs; //> the collision objects
66 
67  std::vector<UpdateFuncObject *> updateFs; //> the update objects
68 
69  friend class ParticleGroupHandle;
70  friend std::ostream &operator<<(std::ostream &os, const ParticleGroup &dt);
71 };
72 
73 #endif
friend std::ostream & operator<<(std::ostream &os, const ParticleGroup &dt)
Definition: ParticleGroup.cpp:59
UpdateFuncObject ** getUpdateFs(int *size)
Definition: ParticleGroup.cpp:49
Color c
the color
Definition: ParticleGroup.h:58
ParticleGroup(Color c, std::string name)
Creates a particle group with the given color and name.
Definition: ParticleGroup.cpp:7
Definition: ParticleGroup.h:28
int b
Definition: ParticleGroup.h:22
void addUpdate(BakedUpdateFunctionObject **f)
Definition: ParticleGroup.cpp:23
void addCollide(BakedCollisionFunctionObject **f)
Definition: ParticleGroup.cpp:15
int g
Definition: ParticleGroup.h:22
int r
Definition: ParticleGroup.h:22
Definition: ParticleGroup.h:20
unsigned int U32
Definition: ParticleGroupHandle.h:22
CollideFuncObject ** getCollideFs(ParticleGroupHandle *to, int *size)
Definition: ParticleGroup.cpp:30
Definition: ParticleGroupHandle.h:29
Definition: UpdateFuncObjects.h:7
Definition: CollideFuncObjects.h:6
Definition: UpdateFuncObjectBuilder.h:7
std::string name
the name
Definition: ParticleGroup.h:59
Definition: CollideFuncObjectBuilder.h:8