BsScriptParticleCollisions.generated.cpp 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. #include "BsScriptParticleCollisions.generated.h"
  2. #include "BsMonoMethod.h"
  3. #include "BsMonoClass.h"
  4. #include "BsMonoUtil.h"
  5. #include "../../../bsf/Source/Foundation/bsfCore/Particles/BsParticleEvolver.h"
  6. #include "BsScriptGameObjectManager.h"
  7. #include "Wrappers/BsScriptPlane.h"
  8. #include "Wrappers/BsScriptSceneObject.h"
  9. #include "BsScriptPARTICLE_COLLISIONS_DESC.generated.h"
  10. #include "BsScriptParticleCollisions.generated.h"
  11. namespace bs
  12. {
  13. ScriptParticleCollisions::ScriptParticleCollisions(MonoObject* managedInstance, const SPtr<ParticleCollisions>& value)
  14. :ScriptObject(managedInstance)
  15. {
  16. mInternal = value;
  17. }
  18. SPtr<ParticleCollisions> ScriptParticleCollisions::getInternal() const
  19. {
  20. return std::static_pointer_cast<ParticleCollisions>(mInternal);
  21. }
  22. void ScriptParticleCollisions::initRuntimeData()
  23. {
  24. metaData.scriptClass->addInternalCall("Internal_setPlanes", (void*)&ScriptParticleCollisions::Internal_setPlanes);
  25. metaData.scriptClass->addInternalCall("Internal_getPlanes", (void*)&ScriptParticleCollisions::Internal_getPlanes);
  26. metaData.scriptClass->addInternalCall("Internal_setPlaneObjects", (void*)&ScriptParticleCollisions::Internal_setPlaneObjects);
  27. metaData.scriptClass->addInternalCall("Internal_getPlaneObjects", (void*)&ScriptParticleCollisions::Internal_getPlaneObjects);
  28. metaData.scriptClass->addInternalCall("Internal_setOptions", (void*)&ScriptParticleCollisions::Internal_setOptions);
  29. metaData.scriptClass->addInternalCall("Internal_getOptions", (void*)&ScriptParticleCollisions::Internal_getOptions);
  30. metaData.scriptClass->addInternalCall("Internal_create", (void*)&ScriptParticleCollisions::Internal_create);
  31. metaData.scriptClass->addInternalCall("Internal_create0", (void*)&ScriptParticleCollisions::Internal_create0);
  32. }
  33. MonoObject* ScriptParticleCollisions::create(const SPtr<ParticleCollisions>& value)
  34. {
  35. if(value == nullptr) return nullptr;
  36. bool dummy = false;
  37. void* ctorParams[1] = { &dummy };
  38. MonoObject* managedInstance = metaData.scriptClass->createInstance("bool", ctorParams);
  39. new (bs_alloc<ScriptParticleCollisions>()) ScriptParticleCollisions(managedInstance, value);
  40. return managedInstance;
  41. }
  42. void ScriptParticleCollisions::Internal_setPlanes(ScriptParticleCollisions* thisPtr, MonoArray* planes)
  43. {
  44. Vector<Plane> vecplanes;
  45. if(planes != nullptr)
  46. {
  47. ScriptArray arrayplanes(planes);
  48. vecplanes.resize(arrayplanes.size());
  49. for(int i = 0; i < (int)arrayplanes.size(); i++)
  50. {
  51. vecplanes[i] = arrayplanes.get<Plane>(i);
  52. }
  53. }
  54. thisPtr->getInternal()->setPlanes(vecplanes);
  55. }
  56. MonoArray* ScriptParticleCollisions::Internal_getPlanes(ScriptParticleCollisions* thisPtr)
  57. {
  58. Vector<Plane> vec__output;
  59. vec__output = thisPtr->getInternal()->getPlanes();
  60. MonoArray* __output;
  61. int arraySize__output = (int)vec__output.size();
  62. ScriptArray array__output = ScriptArray::create<ScriptPlane>(arraySize__output);
  63. for(int i = 0; i < arraySize__output; i++)
  64. {
  65. array__output.set(i, vec__output[i]);
  66. }
  67. __output = array__output.getInternal();
  68. return __output;
  69. }
  70. void ScriptParticleCollisions::Internal_setPlaneObjects(ScriptParticleCollisions* thisPtr, MonoArray* objects)
  71. {
  72. Vector<GameObjectHandle<SceneObject>> vecobjects;
  73. if(objects != nullptr)
  74. {
  75. ScriptArray arrayobjects(objects);
  76. vecobjects.resize(arrayobjects.size());
  77. for(int i = 0; i < (int)arrayobjects.size(); i++)
  78. {
  79. ScriptSceneObject* scriptobjects;
  80. scriptobjects = ScriptSceneObject::toNative(arrayobjects.get<MonoObject*>(i));
  81. if(scriptobjects != nullptr)
  82. vecobjects[i] = scriptobjects->getHandle();
  83. }
  84. }
  85. thisPtr->getInternal()->setPlaneObjects(vecobjects);
  86. }
  87. MonoArray* ScriptParticleCollisions::Internal_getPlaneObjects(ScriptParticleCollisions* thisPtr)
  88. {
  89. Vector<GameObjectHandle<SceneObject>> vec__output;
  90. vec__output = thisPtr->getInternal()->getPlaneObjects();
  91. MonoArray* __output;
  92. int arraySize__output = (int)vec__output.size();
  93. ScriptArray array__output = ScriptArray::create<ScriptSceneObject>(arraySize__output);
  94. for(int i = 0; i < arraySize__output; i++)
  95. {
  96. ScriptSceneObject* script__output = nullptr;
  97. if(vec__output[i])
  98. script__output = ScriptGameObjectManager::instance().getOrCreateScriptSceneObject(vec__output[i]);
  99. if(script__output != nullptr)
  100. array__output.set(i, script__output->getManagedInstance());
  101. else
  102. array__output.set(i, nullptr);
  103. }
  104. __output = array__output.getInternal();
  105. return __output;
  106. }
  107. void ScriptParticleCollisions::Internal_setOptions(ScriptParticleCollisions* thisPtr, PARTICLE_COLLISIONS_DESC* options)
  108. {
  109. thisPtr->getInternal()->setOptions(*options);
  110. }
  111. void ScriptParticleCollisions::Internal_getOptions(ScriptParticleCollisions* thisPtr, PARTICLE_COLLISIONS_DESC* __output)
  112. {
  113. PARTICLE_COLLISIONS_DESC tmp__output;
  114. tmp__output = thisPtr->getInternal()->getOptions();
  115. *__output = tmp__output;
  116. }
  117. void ScriptParticleCollisions::Internal_create(MonoObject* managedInstance, PARTICLE_COLLISIONS_DESC* desc)
  118. {
  119. SPtr<ParticleCollisions> instance = ParticleCollisions::create(*desc);
  120. new (bs_alloc<ScriptParticleCollisions>())ScriptParticleCollisions(managedInstance, instance);
  121. }
  122. void ScriptParticleCollisions::Internal_create0(MonoObject* managedInstance)
  123. {
  124. SPtr<ParticleCollisions> instance = ParticleCollisions::create();
  125. new (bs_alloc<ScriptParticleCollisions>())ScriptParticleCollisions(managedInstance, instance);
  126. }
  127. }