blob: 093c8ba7f46f4514ddf388fc8f95368ef6822ca6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#ifndef SHURIKENMODULESUB_H
#define SHURIKENMODULESUB_H
#include "ParticleSystemModule.h"
#include "Runtime/BaseClasses/BaseObject.h"
class ParticleSystem;
struct ParticleSystemParticles;
class SubModule : public ParticleSystemModule
{
public:
DECLARE_MODULE (SubModule)
SubModule ();
void Update (const ParticleSystemReadOnlyState& roState, ParticleSystemState& state, ParticleSystemParticles& ps, size_t fromIndex, size_t toIndex, float dt) const;
void CheckConsistency() {};
int GetSubEmitterTypeCount(ParticleSystemSubType type) const;
template<class TransferFunction>
void Transfer (TransferFunction& transfer);
static void RemoveDuplicatePtrs (ParticleSystem** shurikens);
int GetSubEmitterPtrs (ParticleSystem** shurikens) const;
int GetSubEmitterPtrsBirth (ParticleSystem** shurikens) const;
int GetSubEmitterPtrsCollision (ParticleSystem** shurikens) const;
int GetSubEmitterPtrsDeath(ParticleSystem** shurikens) const;
private:
PPtr<ParticleSystem> m_SubEmittersBirth[kParticleSystemMaxSubBirth];
PPtr<ParticleSystem> m_SubEmittersCollision[kParticleSystemMaxSubCollision];
PPtr<ParticleSystem> m_SubEmittersDeath[kParticleSystemMaxSubDeath];
};
#endif // SHURIKENMODULESUB_H
|