From 15740faf9fe9fe4be08965098bbf2947e096aeeb Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 14 Aug 2019 22:50:43 +0800 Subject: +Unity Runtime code --- .../Graphics/ParticleSystem/Modules/SubModule.h | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 Runtime/Graphics/ParticleSystem/Modules/SubModule.h (limited to 'Runtime/Graphics/ParticleSystem/Modules/SubModule.h') diff --git a/Runtime/Graphics/ParticleSystem/Modules/SubModule.h b/Runtime/Graphics/ParticleSystem/Modules/SubModule.h new file mode 100644 index 0000000..093c8ba --- /dev/null +++ b/Runtime/Graphics/ParticleSystem/Modules/SubModule.h @@ -0,0 +1,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 + 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 m_SubEmittersBirth[kParticleSystemMaxSubBirth]; + PPtr m_SubEmittersCollision[kParticleSystemMaxSubCollision]; + PPtr m_SubEmittersDeath[kParticleSystemMaxSubDeath]; +}; + +#endif // SHURIKENMODULESUB_H -- cgit v1.1-26-g67d0