Fission FSN
Loading...
Searching...
No Matches
fsCParticleDataInstance.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: fsCParticleDataInstance.h
4*
5* Purpose: Shared instance of particle parameters.
6*
7*********************************************************************/
8
9#ifndef fsCParticleDataInstancehdr
10#define fsCParticleDataInstancehdr
11
12#include <vector>
13#include <memory>
14
15#include <fsCore/fsBaseTypes.h>
16#include <fsCore/fsStr.h>
17
18class fsCParticleData;
19struct fsPoint;
20class fsCEntity;
21class fsIParticle;
23
24
26{
27public:
28
29 const fsCParticleData* get() const { return mParticleData; }
30
31 void particleCloudRegister(fsIParticleCloud* pSpawnCloud);
32
33 void particleCacheCreate(std::vector<std::unique_ptr<fsIParticle>>& pParticleCache);
34
35 fsBool pulseGet() const;
36 void preRunPhaseSet(fsBool pState);
37 fsBool preRunPhaseGet() const;
39
41
42 fsS32 lifetimeGet() const;
43 fsS32 maxParticlesGet() const;
45
46 fsStr const& collectableTypeGet() const;
49
50 fsS32 particlesEmit(std::vector<std::unique_ptr<fsIParticle>>& pParticleCache, fsS32 pNumToEmit,
51 const fsPoint& pSpawnPosition, fsCEntity* pParentEnt) const;
52
56
57protected:
58
59private:
60
61 fsIParticleCloud* mSpawnCloud;
62 fsBool mPreRunPhase;
63
64 mutable fsCParticleData* mParticleData;
65};
66
67#endif
Definition fsCEntity.h:39
Definition fsCParticleData.h:34
Definition fsCParticleDataInstance.h:26
fsS32 collectableCountGet() const
Definition fsCParticleDataInstance.cpp:58
fsS32 preRunPhaseTimeGet() const
Definition fsCParticleDataInstance.cpp:29
void particleCacheCreate(std::vector< std::unique_ptr< fsIParticle > > &pParticleCache)
Definition fsCParticleDataInstance.cpp:14
void particleCloudRegister(fsIParticleCloud *pSpawnCloud)
Definition fsCParticleDataInstance.cpp:9
fsCParticleDataInstance(fsCParticleData *const)
Definition fsCParticleDataInstance.cpp:90
fsF32 particlesEmitPerSecondGet() const
Definition fsCParticleDataInstance.cpp:53
fsS32 emitterLifetimeGet() const
Definition fsCParticleDataInstance.cpp:34
fsS32 particlesEmit(std::vector< std::unique_ptr< fsIParticle > > &pParticleCache, fsS32 pNumToEmit, const fsPoint &pSpawnPosition, fsCEntity *pParentEnt) const
Definition fsCParticleDataInstance.cpp:73
fsBool preRunPhaseGet() const
Definition fsCParticleDataInstance.cpp:24
~fsCParticleDataInstance()
Definition fsCParticleDataInstance.cpp:97
fsBool linkedToEmitterGet() const
Definition fsCParticleDataInstance.cpp:68
fsS32 lifetimeGet() const
Definition fsCParticleDataInstance.cpp:39
fsStr const & collectableTypeGet() const
Definition fsCParticleDataInstance.cpp:63
fsBool pulseGet() const
Definition fsCParticleDataInstance.cpp:4
const fsCParticleData * get() const
Definition fsCParticleDataInstance.h:29
fsS32 maxParticlesGet() const
Definition fsCParticleDataInstance.cpp:44
fsCParticleDataInstance & operator=(const fsCParticleDataInstance &pRHS)
Definition fsCParticleDataInstance.cpp:82
void preRunPhaseSet(fsBool pState)
Definition fsCParticleDataInstance.cpp:19
Definition fsIParticleCloud.h:23
Definition fsIParticle.h:39
Definition fsStr.h:23
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
float fsF32
Definition fsBaseTypes.h:28
Definition fsPoint.h:17