BsScriptCRenderable.generated.cpp 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. #include "BsScriptCRenderable.generated.h"
  2. #include "BsMonoMethod.h"
  3. #include "BsMonoClass.h"
  4. #include "BsMonoUtil.h"
  5. #include "../../../bsf/Source/Foundation/bsfCore/Components/BsCRenderable.h"
  6. #include "BsScriptResourceManager.h"
  7. #include "Wrappers/BsScriptRRefBase.h"
  8. #include "../../../bsf/Source/Foundation/bsfCore/Mesh/BsMesh.h"
  9. #include "../../../bsf/Source/Foundation/bsfCore/Material/BsMaterial.h"
  10. namespace bs
  11. {
  12. ScriptCRenderable::ScriptCRenderable(MonoObject* managedInstance, const GameObjectHandle<CRenderable>& value)
  13. :TScriptComponent(managedInstance, value)
  14. {
  15. }
  16. void ScriptCRenderable::initRuntimeData()
  17. {
  18. metaData.scriptClass->addInternalCall("Internal_setMesh", (void*)&ScriptCRenderable::Internal_setMesh);
  19. metaData.scriptClass->addInternalCall("Internal_getMesh", (void*)&ScriptCRenderable::Internal_getMesh);
  20. metaData.scriptClass->addInternalCall("Internal_setMaterial", (void*)&ScriptCRenderable::Internal_setMaterial);
  21. metaData.scriptClass->addInternalCall("Internal_setMaterial0", (void*)&ScriptCRenderable::Internal_setMaterial0);
  22. metaData.scriptClass->addInternalCall("Internal_getMaterial", (void*)&ScriptCRenderable::Internal_getMaterial);
  23. metaData.scriptClass->addInternalCall("Internal_setMaterials", (void*)&ScriptCRenderable::Internal_setMaterials);
  24. metaData.scriptClass->addInternalCall("Internal_getMaterials", (void*)&ScriptCRenderable::Internal_getMaterials);
  25. metaData.scriptClass->addInternalCall("Internal_setCullDistanceFactor", (void*)&ScriptCRenderable::Internal_setCullDistanceFactor);
  26. metaData.scriptClass->addInternalCall("Internal_getCullDistanceFactor", (void*)&ScriptCRenderable::Internal_getCullDistanceFactor);
  27. metaData.scriptClass->addInternalCall("Internal_setLayer", (void*)&ScriptCRenderable::Internal_setLayer);
  28. metaData.scriptClass->addInternalCall("Internal_getLayer", (void*)&ScriptCRenderable::Internal_getLayer);
  29. metaData.scriptClass->addInternalCall("Internal_getBounds", (void*)&ScriptCRenderable::Internal_getBounds);
  30. }
  31. void ScriptCRenderable::Internal_setMesh(ScriptCRenderable* thisPtr, MonoObject* mesh)
  32. {
  33. ResourceHandle<Mesh> tmpmesh;
  34. ScriptRRefBase* scriptmesh;
  35. scriptmesh = ScriptRRefBase::toNative(mesh);
  36. if(scriptmesh != nullptr)
  37. tmpmesh = static_resource_cast<Mesh>(scriptmesh->getHandle());
  38. thisPtr->getHandle()->setMesh(tmpmesh);
  39. }
  40. MonoObject* ScriptCRenderable::Internal_getMesh(ScriptCRenderable* thisPtr)
  41. {
  42. ResourceHandle<Mesh> tmp__output;
  43. tmp__output = thisPtr->getHandle()->getMesh();
  44. MonoObject* __output;
  45. ScriptRRefBase* script__output;
  46. script__output = ScriptResourceManager::instance().getScriptRRef(tmp__output);
  47. if(script__output != nullptr)
  48. __output = script__output->getManagedInstance();
  49. else
  50. __output = nullptr;
  51. return __output;
  52. }
  53. void ScriptCRenderable::Internal_setMaterial(ScriptCRenderable* thisPtr, uint32_t idx, MonoObject* material)
  54. {
  55. ResourceHandle<Material> tmpmaterial;
  56. ScriptRRefBase* scriptmaterial;
  57. scriptmaterial = ScriptRRefBase::toNative(material);
  58. if(scriptmaterial != nullptr)
  59. tmpmaterial = static_resource_cast<Material>(scriptmaterial->getHandle());
  60. thisPtr->getHandle()->setMaterial(idx, tmpmaterial);
  61. }
  62. void ScriptCRenderable::Internal_setMaterial0(ScriptCRenderable* thisPtr, MonoObject* material)
  63. {
  64. ResourceHandle<Material> tmpmaterial;
  65. ScriptRRefBase* scriptmaterial;
  66. scriptmaterial = ScriptRRefBase::toNative(material);
  67. if(scriptmaterial != nullptr)
  68. tmpmaterial = static_resource_cast<Material>(scriptmaterial->getHandle());
  69. thisPtr->getHandle()->setMaterial(tmpmaterial);
  70. }
  71. MonoObject* ScriptCRenderable::Internal_getMaterial(ScriptCRenderable* thisPtr, uint32_t idx)
  72. {
  73. ResourceHandle<Material> tmp__output;
  74. tmp__output = thisPtr->getHandle()->getMaterial(idx);
  75. MonoObject* __output;
  76. ScriptRRefBase* script__output;
  77. script__output = ScriptResourceManager::instance().getScriptRRef(tmp__output);
  78. if(script__output != nullptr)
  79. __output = script__output->getManagedInstance();
  80. else
  81. __output = nullptr;
  82. return __output;
  83. }
  84. void ScriptCRenderable::Internal_setMaterials(ScriptCRenderable* thisPtr, MonoArray* materials)
  85. {
  86. Vector<ResourceHandle<Material>> vecmaterials;
  87. if(materials != nullptr)
  88. {
  89. ScriptArray arraymaterials(materials);
  90. vecmaterials.resize(arraymaterials.size());
  91. for(int i = 0; i < (int)arraymaterials.size(); i++)
  92. {
  93. ScriptRRefBase* scriptmaterials;
  94. scriptmaterials = ScriptRRefBase::toNative(arraymaterials.get<MonoObject*>(i));
  95. if(scriptmaterials != nullptr)
  96. vecmaterials[i] = static_resource_cast<Material>(scriptmaterials->getHandle());
  97. }
  98. }
  99. thisPtr->getHandle()->setMaterials(vecmaterials);
  100. }
  101. MonoArray* ScriptCRenderable::Internal_getMaterials(ScriptCRenderable* thisPtr)
  102. {
  103. Vector<ResourceHandle<Material>> vec__output;
  104. vec__output = thisPtr->getHandle()->getMaterials();
  105. MonoArray* __output;
  106. int arraySize__output = (int)vec__output.size();
  107. ScriptArray array__output = ScriptArray::create<ScriptRRefBase>(arraySize__output);
  108. for(int i = 0; i < arraySize__output; i++)
  109. {
  110. ScriptRRefBase* script__output;
  111. script__output = ScriptResourceManager::instance().getScriptRRef(vec__output[i]);
  112. if(script__output != nullptr)
  113. array__output.set(i, script__output->getManagedInstance());
  114. else
  115. array__output.set(i, nullptr);
  116. }
  117. __output = array__output.getInternal();
  118. return __output;
  119. }
  120. void ScriptCRenderable::Internal_setCullDistanceFactor(ScriptCRenderable* thisPtr, float factor)
  121. {
  122. thisPtr->getHandle()->setCullDistanceFactor(factor);
  123. }
  124. float ScriptCRenderable::Internal_getCullDistanceFactor(ScriptCRenderable* thisPtr)
  125. {
  126. float tmp__output;
  127. tmp__output = thisPtr->getHandle()->getCullDistanceFactor();
  128. float __output;
  129. __output = tmp__output;
  130. return __output;
  131. }
  132. void ScriptCRenderable::Internal_setLayer(ScriptCRenderable* thisPtr, uint64_t layer)
  133. {
  134. thisPtr->getHandle()->setLayer(layer);
  135. }
  136. uint64_t ScriptCRenderable::Internal_getLayer(ScriptCRenderable* thisPtr)
  137. {
  138. uint64_t tmp__output;
  139. tmp__output = thisPtr->getHandle()->getLayer();
  140. uint64_t __output;
  141. __output = tmp__output;
  142. return __output;
  143. }
  144. void ScriptCRenderable::Internal_getBounds(ScriptCRenderable* thisPtr, Bounds* __output)
  145. {
  146. Bounds tmp__output;
  147. tmp__output = thisPtr->getHandle()->getBounds();
  148. *__output = tmp__output;
  149. }
  150. }