BsScriptCCollider.generated.cpp 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. #include "BsScriptCCollider.generated.h"
  2. #include "BsMonoMethod.h"
  3. #include "BsMonoClass.h"
  4. #include "BsMonoUtil.h"
  5. #include "../../../bsf/Source/Foundation/bsfCore/Components/BsCCollider.h"
  6. #include "BsScriptResourceManager.h"
  7. #include "Wrappers/BsScriptRRefBase.h"
  8. #include "BsScriptCollisionData.generated.h"
  9. #include "../../../bsf/Source/Foundation/bsfCore/Physics/BsPhysicsMaterial.h"
  10. namespace bs
  11. {
  12. ScriptCColliderBase::ScriptCColliderBase(MonoObject* managedInstance)
  13. :ScriptComponentBase(managedInstance)
  14. { }
  15. ScriptCCollider::onCollisionBeginThunkDef ScriptCCollider::onCollisionBeginThunk;
  16. ScriptCCollider::onCollisionStayThunkDef ScriptCCollider::onCollisionStayThunk;
  17. ScriptCCollider::onCollisionEndThunkDef ScriptCCollider::onCollisionEndThunk;
  18. ScriptCCollider::ScriptCCollider(MonoObject* managedInstance, const GameObjectHandle<CCollider>& value)
  19. :TScriptComponent(managedInstance, value)
  20. {
  21. value->onCollisionBegin.connect(std::bind(&ScriptCCollider::onCollisionBegin, this, std::placeholders::_1));
  22. value->onCollisionStay.connect(std::bind(&ScriptCCollider::onCollisionStay, this, std::placeholders::_1));
  23. value->onCollisionEnd.connect(std::bind(&ScriptCCollider::onCollisionEnd, this, std::placeholders::_1));
  24. }
  25. void ScriptCCollider::initRuntimeData()
  26. {
  27. metaData.scriptClass->addInternalCall("Internal_setIsTrigger", (void*)&ScriptCCollider::Internal_setIsTrigger);
  28. metaData.scriptClass->addInternalCall("Internal_getIsTrigger", (void*)&ScriptCCollider::Internal_getIsTrigger);
  29. metaData.scriptClass->addInternalCall("Internal_setMass", (void*)&ScriptCCollider::Internal_setMass);
  30. metaData.scriptClass->addInternalCall("Internal_getMass", (void*)&ScriptCCollider::Internal_getMass);
  31. metaData.scriptClass->addInternalCall("Internal_setMaterial", (void*)&ScriptCCollider::Internal_setMaterial);
  32. metaData.scriptClass->addInternalCall("Internal_getMaterial", (void*)&ScriptCCollider::Internal_getMaterial);
  33. metaData.scriptClass->addInternalCall("Internal_setContactOffset", (void*)&ScriptCCollider::Internal_setContactOffset);
  34. metaData.scriptClass->addInternalCall("Internal_getContactOffset", (void*)&ScriptCCollider::Internal_getContactOffset);
  35. metaData.scriptClass->addInternalCall("Internal_setRestOffset", (void*)&ScriptCCollider::Internal_setRestOffset);
  36. metaData.scriptClass->addInternalCall("Internal_getRestOffset", (void*)&ScriptCCollider::Internal_getRestOffset);
  37. metaData.scriptClass->addInternalCall("Internal_setLayer", (void*)&ScriptCCollider::Internal_setLayer);
  38. metaData.scriptClass->addInternalCall("Internal_getLayer", (void*)&ScriptCCollider::Internal_getLayer);
  39. metaData.scriptClass->addInternalCall("Internal_setCollisionReportMode", (void*)&ScriptCCollider::Internal_setCollisionReportMode);
  40. metaData.scriptClass->addInternalCall("Internal_getCollisionReportMode", (void*)&ScriptCCollider::Internal_getCollisionReportMode);
  41. onCollisionBeginThunk = (onCollisionBeginThunkDef)metaData.scriptClass->getMethodExact("Internal_onCollisionBegin", "CollisionData&")->getThunk();
  42. onCollisionStayThunk = (onCollisionStayThunkDef)metaData.scriptClass->getMethodExact("Internal_onCollisionStay", "CollisionData&")->getThunk();
  43. onCollisionEndThunk = (onCollisionEndThunkDef)metaData.scriptClass->getMethodExact("Internal_onCollisionEnd", "CollisionData&")->getThunk();
  44. }
  45. void ScriptCCollider::onCollisionBegin(const CollisionData& p0)
  46. {
  47. MonoObject* tmpp0;
  48. __CollisionDataInterop interopp0;
  49. interopp0 = ScriptCollisionData::toInterop(p0);
  50. tmpp0 = ScriptCollisionData::box(interopp0);
  51. MonoUtil::invokeThunk(onCollisionBeginThunk, getManagedInstance(), tmpp0);
  52. }
  53. void ScriptCCollider::onCollisionStay(const CollisionData& p0)
  54. {
  55. MonoObject* tmpp0;
  56. __CollisionDataInterop interopp0;
  57. interopp0 = ScriptCollisionData::toInterop(p0);
  58. tmpp0 = ScriptCollisionData::box(interopp0);
  59. MonoUtil::invokeThunk(onCollisionStayThunk, getManagedInstance(), tmpp0);
  60. }
  61. void ScriptCCollider::onCollisionEnd(const CollisionData& p0)
  62. {
  63. MonoObject* tmpp0;
  64. __CollisionDataInterop interopp0;
  65. interopp0 = ScriptCollisionData::toInterop(p0);
  66. tmpp0 = ScriptCollisionData::box(interopp0);
  67. MonoUtil::invokeThunk(onCollisionEndThunk, getManagedInstance(), tmpp0);
  68. }
  69. void ScriptCCollider::Internal_setIsTrigger(ScriptCColliderBase* thisPtr, bool value)
  70. {
  71. static_object_cast<CCollider>(thisPtr->getComponent())->setIsTrigger(value);
  72. }
  73. bool ScriptCCollider::Internal_getIsTrigger(ScriptCColliderBase* thisPtr)
  74. {
  75. bool tmp__output;
  76. tmp__output = static_object_cast<CCollider>(thisPtr->getComponent())->getIsTrigger();
  77. bool __output;
  78. __output = tmp__output;
  79. return __output;
  80. }
  81. void ScriptCCollider::Internal_setMass(ScriptCColliderBase* thisPtr, float mass)
  82. {
  83. static_object_cast<CCollider>(thisPtr->getComponent())->setMass(mass);
  84. }
  85. float ScriptCCollider::Internal_getMass(ScriptCColliderBase* thisPtr)
  86. {
  87. float tmp__output;
  88. tmp__output = static_object_cast<CCollider>(thisPtr->getComponent())->getMass();
  89. float __output;
  90. __output = tmp__output;
  91. return __output;
  92. }
  93. void ScriptCCollider::Internal_setMaterial(ScriptCColliderBase* thisPtr, MonoObject* material)
  94. {
  95. ResourceHandle<PhysicsMaterial> tmpmaterial;
  96. ScriptRRefBase* scriptmaterial;
  97. scriptmaterial = ScriptRRefBase::toNative(material);
  98. if(scriptmaterial != nullptr)
  99. tmpmaterial = static_resource_cast<PhysicsMaterial>(scriptmaterial->getHandle());
  100. static_object_cast<CCollider>(thisPtr->getComponent())->setMaterial(tmpmaterial);
  101. }
  102. MonoObject* ScriptCCollider::Internal_getMaterial(ScriptCColliderBase* thisPtr)
  103. {
  104. ResourceHandle<PhysicsMaterial> tmp__output;
  105. tmp__output = static_object_cast<CCollider>(thisPtr->getComponent())->getMaterial();
  106. MonoObject* __output;
  107. ScriptRRefBase* script__output;
  108. script__output = ScriptResourceManager::instance().getScriptRRef(tmp__output);
  109. if(script__output != nullptr)
  110. __output = script__output->getManagedInstance();
  111. else
  112. __output = nullptr;
  113. return __output;
  114. }
  115. void ScriptCCollider::Internal_setContactOffset(ScriptCColliderBase* thisPtr, float value)
  116. {
  117. static_object_cast<CCollider>(thisPtr->getComponent())->setContactOffset(value);
  118. }
  119. float ScriptCCollider::Internal_getContactOffset(ScriptCColliderBase* thisPtr)
  120. {
  121. float tmp__output;
  122. tmp__output = static_object_cast<CCollider>(thisPtr->getComponent())->getContactOffset();
  123. float __output;
  124. __output = tmp__output;
  125. return __output;
  126. }
  127. void ScriptCCollider::Internal_setRestOffset(ScriptCColliderBase* thisPtr, float value)
  128. {
  129. static_object_cast<CCollider>(thisPtr->getComponent())->setRestOffset(value);
  130. }
  131. float ScriptCCollider::Internal_getRestOffset(ScriptCColliderBase* thisPtr)
  132. {
  133. float tmp__output;
  134. tmp__output = static_object_cast<CCollider>(thisPtr->getComponent())->getRestOffset();
  135. float __output;
  136. __output = tmp__output;
  137. return __output;
  138. }
  139. void ScriptCCollider::Internal_setLayer(ScriptCColliderBase* thisPtr, uint64_t layer)
  140. {
  141. static_object_cast<CCollider>(thisPtr->getComponent())->setLayer(layer);
  142. }
  143. uint64_t ScriptCCollider::Internal_getLayer(ScriptCColliderBase* thisPtr)
  144. {
  145. uint64_t tmp__output;
  146. tmp__output = static_object_cast<CCollider>(thisPtr->getComponent())->getLayer();
  147. uint64_t __output;
  148. __output = tmp__output;
  149. return __output;
  150. }
  151. void ScriptCCollider::Internal_setCollisionReportMode(ScriptCColliderBase* thisPtr, CollisionReportMode mode)
  152. {
  153. static_object_cast<CCollider>(thisPtr->getComponent())->setCollisionReportMode(mode);
  154. }
  155. CollisionReportMode ScriptCCollider::Internal_getCollisionReportMode(ScriptCColliderBase* thisPtr)
  156. {
  157. CollisionReportMode tmp__output;
  158. tmp__output = static_object_cast<CCollider>(thisPtr->getComponent())->getCollisionReportMode();
  159. CollisionReportMode __output;
  160. __output = tmp__output;
  161. return __output;
  162. }
  163. }