28 #ifndef HPL_PARTICLE_EMITTER_3D_H 29 #define HPL_PARTICLE_EMITTER_3D_H 31 #include "hpl1/engine/graphics/ParticleEmitter.h" 32 #include "hpl1/engine/graphics/Renderable.h" 33 #include "hpl1/engine/scene/Entity3D.h" 40 class cParticleSystem3D;
53 enum eParticleEmitter3DType {
54 eParticleEmitter3DType_FixedPoint,
55 eParticleEmitter3DType_DynamicPoint,
56 eParticleEmitter3DType_Line,
57 eParticleEmitter3DType_Axis,
58 eParticleEmitter3DType_LastEnum,
61 enum eParticleEmitter3DCoordSystem {
62 eParticleEmitter3DCoordSystem_World,
63 eParticleEmitter3DCoordSystem_Local,
64 eParticleEmitter3DCoordSystem_LastEnum,
69 kSaveData_ChildClass(iRenderable, iParticleEmitter3D) {
70 kSaveData_ClassInit(iParticleEmitter3D) public : tString msDataName;
77 virtual iSaveObject *CreateSaveObject(cSaveObjectHandler * apSaveObjectHandler, cGame * apGame);
78 virtual int GetSaveCreatePrio();
100 void UpdateLogic(
float afTimeStep);
104 eParticleEmitterType GetType() {
return eParticleEmitterType_3D; }
106 void SetSubDivUV(
const cVector2l &avSubDiv);
108 void SetWorld(
cWorld3D *apWorld) { mpWorld = apWorld; }
113 tString GetEntityType() {
return "ParticleEmitter3D"; }
115 void SetVisible(
bool abVisible) { SetRendered(abVisible); }
123 bool IsShadowCaster() {
return false; }
130 eRenderableType GetRenderType() {
return eRenderableType_Normal; }
134 virtual void SaveToSaveData(
iSaveData *apSaveData);
135 virtual void LoadFromSaveData(
iSaveData *apSaveData);
140 float mfTimeStepAccum;
147 int mlDirectionUpdateCount;
151 int mlAxisDrawUpdateCount;
159 eParticleEmitter3DType mDrawType;
161 eParticleEmitter3DCoordSystem mCoordSystem;
165 bool mbUsesDirection;
169 bool mbUseRevolution;
177 #endif // HPL_PARTICLE_EMITTER_3D_H
Definition: ParticleEmitter3D.h:94
Definition: VertexBuffer.h:90
Definition: BoundingVolume.h:71
Definition: Renderable.h:70
Definition: World3D.h:179
Definition: SaveGame.h:111
int GetMatrixUpdateCount()
Definition: ParticleEmitter3D.h:129
Definition: RenderList.h:145
Definition: ParticleEmitter.h:133
Definition: ParticleSystem3D.h:90
Definition: Resources.h:160
Definition: Material.h:203
Definition: SaveGame.h:183
Definition: ParticleEmitter3D.h:83
Definition: Graphics.h:46
Definition: Camera3D.h:53