BsScriptCParticleSystem.generated.cpp 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. #include "BsScriptCParticleSystem.generated.h"
  2. #include "BsMonoMethod.h"
  3. #include "BsMonoClass.h"
  4. #include "BsMonoUtil.h"
  5. #include "../../../bsf/Source/Foundation/bsfCore/Components/BsCParticleSystem.h"
  6. #include "BsScriptParticleSystemSettings.generated.h"
  7. #include "BsScriptParticleGpuSimulationSettings.generated.h"
  8. #include "BsScriptParticleEmitter.generated.h"
  9. #include "BsScriptParticleEvolver.generated.h"
  10. namespace bs
  11. {
  12. ScriptCParticleSystem::ScriptCParticleSystem(MonoObject* managedInstance, const GameObjectHandle<CParticleSystem>& value)
  13. :TScriptComponent(managedInstance, value)
  14. {
  15. }
  16. void ScriptCParticleSystem::initRuntimeData()
  17. {
  18. metaData.scriptClass->addInternalCall("Internal_setSettings", (void*)&ScriptCParticleSystem::Internal_setSettings);
  19. metaData.scriptClass->addInternalCall("Internal_getSettings", (void*)&ScriptCParticleSystem::Internal_getSettings);
  20. metaData.scriptClass->addInternalCall("Internal_setGpuSimulationSettings", (void*)&ScriptCParticleSystem::Internal_setGpuSimulationSettings);
  21. metaData.scriptClass->addInternalCall("Internal_getGpuSimulationSettings", (void*)&ScriptCParticleSystem::Internal_getGpuSimulationSettings);
  22. metaData.scriptClass->addInternalCall("Internal_setEmitters", (void*)&ScriptCParticleSystem::Internal_setEmitters);
  23. metaData.scriptClass->addInternalCall("Internal_getEmitters", (void*)&ScriptCParticleSystem::Internal_getEmitters);
  24. metaData.scriptClass->addInternalCall("Internal_setEvolvers", (void*)&ScriptCParticleSystem::Internal_setEvolvers);
  25. metaData.scriptClass->addInternalCall("Internal_getEvolvers", (void*)&ScriptCParticleSystem::Internal_getEvolvers);
  26. metaData.scriptClass->addInternalCall("Internal_setLayer", (void*)&ScriptCParticleSystem::Internal_setLayer);
  27. metaData.scriptClass->addInternalCall("Internal_getLayer", (void*)&ScriptCParticleSystem::Internal_getLayer);
  28. }
  29. void ScriptCParticleSystem::Internal_setSettings(ScriptCParticleSystem* thisPtr, MonoObject* settings)
  30. {
  31. SPtr<ParticleSystemSettings> tmpsettings;
  32. ScriptParticleSystemSettings* scriptsettings;
  33. scriptsettings = ScriptParticleSystemSettings::toNative(settings);
  34. if(scriptsettings != nullptr)
  35. tmpsettings = scriptsettings->getInternal();
  36. thisPtr->getHandle()->setSettings(*tmpsettings);
  37. }
  38. MonoObject* ScriptCParticleSystem::Internal_getSettings(ScriptCParticleSystem* thisPtr)
  39. {
  40. SPtr<ParticleSystemSettings> tmp__output = bs_shared_ptr_new<ParticleSystemSettings>();
  41. *tmp__output = thisPtr->getHandle()->getSettings();
  42. MonoObject* __output;
  43. __output = ScriptParticleSystemSettings::create(tmp__output);
  44. return __output;
  45. }
  46. void ScriptCParticleSystem::Internal_setGpuSimulationSettings(ScriptCParticleSystem* thisPtr, MonoObject* settings)
  47. {
  48. SPtr<ParticleGpuSimulationSettings> tmpsettings;
  49. ScriptParticleGpuSimulationSettings* scriptsettings;
  50. scriptsettings = ScriptParticleGpuSimulationSettings::toNative(settings);
  51. if(scriptsettings != nullptr)
  52. tmpsettings = scriptsettings->getInternal();
  53. thisPtr->getHandle()->setGpuSimulationSettings(*tmpsettings);
  54. }
  55. MonoObject* ScriptCParticleSystem::Internal_getGpuSimulationSettings(ScriptCParticleSystem* thisPtr)
  56. {
  57. SPtr<ParticleGpuSimulationSettings> tmp__output = bs_shared_ptr_new<ParticleGpuSimulationSettings>();
  58. *tmp__output = thisPtr->getHandle()->getGpuSimulationSettings();
  59. MonoObject* __output;
  60. __output = ScriptParticleGpuSimulationSettings::create(tmp__output);
  61. return __output;
  62. }
  63. void ScriptCParticleSystem::Internal_setEmitters(ScriptCParticleSystem* thisPtr, MonoArray* emitters)
  64. {
  65. Vector<SPtr<ParticleEmitter>> vecemitters;
  66. if(emitters != nullptr)
  67. {
  68. ScriptArray arrayemitters(emitters);
  69. vecemitters.resize(arrayemitters.size());
  70. for(int i = 0; i < (int)arrayemitters.size(); i++)
  71. {
  72. ScriptParticleEmitter* scriptemitters;
  73. scriptemitters = ScriptParticleEmitter::toNative(arrayemitters.get<MonoObject*>(i));
  74. if(scriptemitters != nullptr)
  75. vecemitters[i] = scriptemitters->getInternal();
  76. }
  77. }
  78. thisPtr->getHandle()->setEmitters(vecemitters);
  79. }
  80. MonoArray* ScriptCParticleSystem::Internal_getEmitters(ScriptCParticleSystem* thisPtr)
  81. {
  82. Vector<SPtr<ParticleEmitter>> vec__output;
  83. vec__output = thisPtr->getHandle()->getEmitters();
  84. MonoArray* __output;
  85. int arraySize__output = (int)vec__output.size();
  86. ScriptArray array__output = ScriptArray::create<ScriptParticleEmitter>(arraySize__output);
  87. for(int i = 0; i < arraySize__output; i++)
  88. {
  89. array__output.set(i, ScriptParticleEmitter::create(vec__output[i]));
  90. }
  91. __output = array__output.getInternal();
  92. return __output;
  93. }
  94. void ScriptCParticleSystem::Internal_setEvolvers(ScriptCParticleSystem* thisPtr, MonoArray* evolvers)
  95. {
  96. Vector<SPtr<ParticleEvolver>> vecevolvers;
  97. if(evolvers != nullptr)
  98. {
  99. ScriptArray arrayevolvers(evolvers);
  100. vecevolvers.resize(arrayevolvers.size());
  101. for(int i = 0; i < (int)arrayevolvers.size(); i++)
  102. {
  103. ScriptParticleEvolverBase* scriptevolvers;
  104. scriptevolvers = (ScriptParticleEvolverBase*)ScriptParticleEvolver::toNative(arrayevolvers.get<MonoObject*>(i));
  105. if(scriptevolvers != nullptr)
  106. vecevolvers[i] = scriptevolvers->getInternal();
  107. }
  108. }
  109. thisPtr->getHandle()->setEvolvers(vecevolvers);
  110. }
  111. MonoArray* ScriptCParticleSystem::Internal_getEvolvers(ScriptCParticleSystem* thisPtr)
  112. {
  113. Vector<SPtr<ParticleEvolver>> vec__output;
  114. vec__output = thisPtr->getHandle()->getEvolvers();
  115. MonoArray* __output;
  116. int arraySize__output = (int)vec__output.size();
  117. ScriptArray array__output = ScriptArray::create<ScriptParticleEvolver>(arraySize__output);
  118. for(int i = 0; i < arraySize__output; i++)
  119. {
  120. array__output.set(i, ScriptParticleEvolver::create(vec__output[i]));
  121. }
  122. __output = array__output.getInternal();
  123. return __output;
  124. }
  125. void ScriptCParticleSystem::Internal_setLayer(ScriptCParticleSystem* thisPtr, uint64_t layer)
  126. {
  127. thisPtr->getHandle()->setLayer(layer);
  128. }
  129. uint64_t ScriptCParticleSystem::Internal_getLayer(ScriptCParticleSystem* thisPtr)
  130. {
  131. uint64_t tmp__output;
  132. tmp__output = thisPtr->getHandle()->getLayer();
  133. uint64_t __output;
  134. __output = tmp__output;
  135. return __output;
  136. }
  137. }