123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- //
- // ParticleCollisionEvents.h
- // cocos2d_libs
- //
- // Created by 徐俊杰 on 2020/4/24.
- //
- #ifndef ParticleCollisionEvents_h
- #define ParticleCollisionEvents_h
- //#include "cocos2d.h"
- #include "rparticle/Macros/RParticleMacros.h"
- #include "rparticle/Utilities/dynamic_array.h"
- NS_RRP_BEGIN
- struct ParticleCollisionEvent
- {
- ParticleCollisionEvent (const Vector3f& intersection, const Vector3f& normal, const Vector3f& velocity, int colliderInstanceID, int rigidBodyOrColliderInstanceID);
- Vector3f m_Intersection;
- Vector3f m_Normal;
- Vector3f m_Velocity;
- int m_ColliderInstanceID;
- int m_RigidBodyOrColliderInstanceID; // This can be a Collider or a RigidBody component
- };
- struct MonoParticleCollisionEvent
- {
- Vector3f m_Intersection;
- Vector3f m_Normal;
- Vector3f m_Velocity;
- int m_ColliderInstanceID;
- };
- struct CollisionEvents
- {
- CollisionEvents ();
- dynamic_array<ParticleCollisionEvent> collisionEvents[2];
- int currentCollisionEventThreadArray;
-
- void Clear ();
- bool AddEvent (const ParticleCollisionEvent& event);
- int GetCollisionEventCount () const;
- void SwapCollisionEventArrays ();
- void SortCollisionEventThreadArray ();
- // void SendCollisionEvents (Unity::Component& particleSystem) const;
- int GetCollisionEvents (int instanceId, MonoParticleCollisionEvent* collisionEvents, int size) const;
- dynamic_array<ParticleCollisionEvent>& GetCollisionEventThreadArray ();
- const dynamic_array<ParticleCollisionEvent>& GetCollisionEventScriptArray () const;
- };
- NS_RRP_END
- #endif /* ParticleCollisionEvents_h */
|