summaryrefslogtreecommitdiff
path: root/Runtime/Graphics/ParticleSystem/Modules/SubModule.h
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2019-08-14 22:50:43 +0800
committerchai <chaifix@163.com>2019-08-14 22:50:43 +0800
commit15740faf9fe9fe4be08965098bbf2947e096aeeb (patch)
treea730ec236656cc8cab5b13f088adfaed6bb218fb /Runtime/Graphics/ParticleSystem/Modules/SubModule.h
+Unity Runtime codeHEADmaster
Diffstat (limited to 'Runtime/Graphics/ParticleSystem/Modules/SubModule.h')
-rw-r--r--Runtime/Graphics/ParticleSystem/Modules/SubModule.h38
1 files changed, 38 insertions, 0 deletions
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<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