BsScriptParticleCollisions.generated.cpp 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  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. }
  32. MonoObject* ScriptParticleCollisions::create(const SPtr<ParticleCollisions>& value)
  33. {
  34. if(value == nullptr) return nullptr;
  35. bool dummy = false;
  36. void* ctorParams[1] = { &dummy };
  37. MonoObject* managedInstance = metaData.scriptClass->createInstance("bool", ctorParams);
  38. new (bs_alloc<ScriptParticleCollisions>()) ScriptParticleCollisions(managedInstance, value);
  39. return managedInstance;
  40. }
  41. void ScriptParticleCollisions::Internal_setPlanes(ScriptParticleCollisions* thisPtr, MonoArray* planes)
  42. {
  43. Vector<Plane> vecplanes;
  44. if(planes != nullptr)
  45. {
  46. ScriptArray arrayplanes(planes);
  47. vecplanes.resize(arrayplanes.size());
  48. for(int i = 0; i < (int)arrayplanes.size(); i++)
  49. {
  50. vecplanes[i] = arrayplanes.get<Plane>(i);
  51. }
  52. }
  53. thisPtr->getInternal()->setPlanes(vecplanes);
  54. }
  55. MonoArray* ScriptParticleCollisions::Internal_getPlanes(ScriptParticleCollisions* thisPtr)
  56. {
  57. Vector<Plane> vec__output;
  58. vec__output = thisPtr->getInternal()->getPlanes();
  59. MonoArray* __output;
  60. int arraySize__output = (int)vec__output.size();
  61. ScriptArray array__output = ScriptArray::create<ScriptPlane>(arraySize__output);
  62. for(int i = 0; i < arraySize__output; i++)
  63. {
  64. array__output.set(i, vec__output[i]);
  65. }
  66. __output = array__output.getInternal();
  67. return __output;
  68. }
  69. void ScriptParticleCollisions::Internal_setPlaneObjects(ScriptParticleCollisions* thisPtr, MonoArray* objects)
  70. {
  71. Vector<GameObjectHandle<SceneObject>> vecobjects;
  72. if(objects != nullptr)
  73. {
  74. ScriptArray arrayobjects(objects);
  75. vecobjects.resize(arrayobjects.size());
  76. for(int i = 0; i < (int)arrayobjects.size(); i++)
  77. {
  78. ScriptSceneObject* scriptobjects;
  79. scriptobjects = ScriptSceneObject::toNative(arrayobjects.get<MonoObject*>(i));
  80. if(scriptobjects != nullptr)
  81. vecobjects[i] = scriptobjects->getHandle();
  82. }
  83. }
  84. thisPtr->getInternal()->setPlaneObjects(vecobjects);
  85. }
  86. MonoArray* ScriptParticleCollisions::Internal_getPlaneObjects(ScriptParticleCollisions* thisPtr)
  87. {
  88. Vector<GameObjectHandle<SceneObject>> vec__output;
  89. vec__output = thisPtr->getInternal()->getPlaneObjects();
  90. MonoArray* __output;
  91. int arraySize__output = (int)vec__output.size();
  92. ScriptArray array__output = ScriptArray::create<ScriptSceneObject>(arraySize__output);
  93. for(int i = 0; i < arraySize__output; i++)
  94. {
  95. ScriptSceneObject* script__output = nullptr;
  96. if(vec__output[i])
  97. script__output = ScriptGameObjectManager::instance().getOrCreateScriptSceneObject(vec__output[i]);
  98. if(script__output != nullptr)
  99. array__output.set(i, script__output->getManagedInstance());
  100. else
  101. array__output.set(i, nullptr);
  102. }
  103. __output = array__output.getInternal();
  104. return __output;
  105. }
  106. void ScriptParticleCollisions::Internal_setOptions(ScriptParticleCollisions* thisPtr, PARTICLE_COLLISIONS_DESC* options)
  107. {
  108. thisPtr->getInternal()->setOptions(*options);
  109. }
  110. void ScriptParticleCollisions::Internal_getOptions(ScriptParticleCollisions* thisPtr, PARTICLE_COLLISIONS_DESC* __output)
  111. {
  112. PARTICLE_COLLISIONS_DESC tmp__output;
  113. tmp__output = thisPtr->getInternal()->getOptions();
  114. *__output = tmp__output;
  115. }
  116. void ScriptParticleCollisions::Internal_create(MonoObject* managedInstance, PARTICLE_COLLISIONS_DESC* desc)
  117. {
  118. SPtr<ParticleCollisions> instance = ParticleCollisions::create(*desc);
  119. new (bs_alloc<ScriptParticleCollisions>())ScriptParticleCollisions(managedInstance, instance);
  120. }
  121. }