CollisionModule.cpp 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. //
  2. // CollisionModule.cpp
  3. // libcocos2d Mac
  4. //
  5. // Created by 徐俊杰 on 2020/4/24.
  6. //
  7. #include "rparticle/Modules/CollisionModule.h"
  8. #include "rparticle/Serialize/TransferFunctions/SerializeTransfer.h"
  9. NS_RRP_BEGIN
  10. /*
  11. CollisionModule* CollisionModule::create() {
  12. CollisionModule * ret = new (std::nothrow) CollisionModule();
  13. if (ret && ret->init()) {
  14. ret->autorelease();
  15. } else {
  16. CC_SAFE_DELETE(ret);
  17. }
  18. return ret;
  19. }
  20. CollisionModule::CollisionModule() : ParticleSystemModule(false) {
  21. }
  22. CollisionModule::~CollisionModule() {
  23. }
  24. bool CollisionModule::init() {
  25. return true;
  26. }
  27. */
  28. CollisionModule::CollisionModule () : ParticleSystemModule(false)
  29. //, m_Type(0)
  30. //, m_Dampen(0.0f)
  31. //, m_Bounce(1.0f)
  32. //, m_EnergyLossOnCollision(0.0f)
  33. //, m_MinKillSpeed(0.0f)
  34. //, m_ParticleRadius(0.01f)
  35. //, m_Quality(0)
  36. //, m_VoxelSize(0.5f)
  37. //, m_CollisionMessages(false)
  38. {
  39. // m_CollidesWith.m_Bits = 0xFFFFFFFF;
  40. }
  41. void CollisionModule::AllocateAndCache(const ParticleSystemReadOnlyState& roState, ParticleSystemState& state){
  42. //todo:
  43. }
  44. void CollisionModule::FreeCache(ParticleSystemState& state)
  45. {
  46. if(state.cachedCollisionPlanes)
  47. {
  48. FREE_TEMP_MANUAL(state.cachedCollisionPlanes);
  49. state.cachedCollisionPlanes = 0;
  50. state.numCachedCollisionPlanes = 0;
  51. }
  52. }
  53. template<class TransferFunction>
  54. void CollisionModule::Transfer (TransferFunction& transfer)
  55. {
  56. ParticleSystemModule::Transfer (transfer);
  57. //TODO: CollisionModule::Transfer
  58. // std::string todo = "CollisionModule::Transfer";
  59. bool flag = true;
  60. transfer.Transfer(flag, "TODO: CollisionModule::Transfer");
  61. }
  62. INSTANTIATE_TEMPLATE_TRANSFER(CollisionModule)
  63. NS_RRP_END