BsScriptPhysics.generated.cpp 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540
  1. #include "BsScriptPhysics.generated.h"
  2. #include "BsMonoMethod.h"
  3. #include "BsMonoClass.h"
  4. #include "BsMonoUtil.h"
  5. #include "../../../bsf/Source/Foundation/bsfCore/Physics/BsPhysics.h"
  6. #include "BsScriptResourceManager.h"
  7. #include "Wrappers/BsScriptRRefBase.h"
  8. #include "BsScriptGameObjectManager.h"
  9. #include "BsScriptPhysicsQueryHit.generated.h"
  10. #include "../../../bsf/Source/Foundation/bsfCore/Physics/BsPhysicsMesh.h"
  11. #include "Wrappers/BsScriptVector.h"
  12. #include "Wrappers/BsScriptQuaternion.h"
  13. #include "BsScriptCCollider.generated.h"
  14. namespace bs
  15. {
  16. ScriptPhysics::ScriptPhysics(MonoObject* managedInstance)
  17. :ScriptObject(managedInstance)
  18. {
  19. }
  20. void ScriptPhysics::initRuntimeData()
  21. {
  22. metaData.scriptClass->addInternalCall("Internal_rayCast", (void*)&ScriptPhysics::Internal_rayCast);
  23. metaData.scriptClass->addInternalCall("Internal_rayCast0", (void*)&ScriptPhysics::Internal_rayCast0);
  24. metaData.scriptClass->addInternalCall("Internal_boxCast", (void*)&ScriptPhysics::Internal_boxCast);
  25. metaData.scriptClass->addInternalCall("Internal_sphereCast", (void*)&ScriptPhysics::Internal_sphereCast);
  26. metaData.scriptClass->addInternalCall("Internal_capsuleCast", (void*)&ScriptPhysics::Internal_capsuleCast);
  27. metaData.scriptClass->addInternalCall("Internal_convexCast", (void*)&ScriptPhysics::Internal_convexCast);
  28. metaData.scriptClass->addInternalCall("Internal_rayCastAll", (void*)&ScriptPhysics::Internal_rayCastAll);
  29. metaData.scriptClass->addInternalCall("Internal_rayCastAll0", (void*)&ScriptPhysics::Internal_rayCastAll0);
  30. metaData.scriptClass->addInternalCall("Internal_boxCastAll", (void*)&ScriptPhysics::Internal_boxCastAll);
  31. metaData.scriptClass->addInternalCall("Internal_sphereCastAll", (void*)&ScriptPhysics::Internal_sphereCastAll);
  32. metaData.scriptClass->addInternalCall("Internal_capsuleCastAll", (void*)&ScriptPhysics::Internal_capsuleCastAll);
  33. metaData.scriptClass->addInternalCall("Internal_convexCastAll", (void*)&ScriptPhysics::Internal_convexCastAll);
  34. metaData.scriptClass->addInternalCall("Internal_rayCastAny", (void*)&ScriptPhysics::Internal_rayCastAny);
  35. metaData.scriptClass->addInternalCall("Internal_rayCastAny0", (void*)&ScriptPhysics::Internal_rayCastAny0);
  36. metaData.scriptClass->addInternalCall("Internal_boxCastAny", (void*)&ScriptPhysics::Internal_boxCastAny);
  37. metaData.scriptClass->addInternalCall("Internal_sphereCastAny", (void*)&ScriptPhysics::Internal_sphereCastAny);
  38. metaData.scriptClass->addInternalCall("Internal_capsuleCastAny", (void*)&ScriptPhysics::Internal_capsuleCastAny);
  39. metaData.scriptClass->addInternalCall("Internal_convexCastAny", (void*)&ScriptPhysics::Internal_convexCastAny);
  40. metaData.scriptClass->addInternalCall("Internal_boxOverlap", (void*)&ScriptPhysics::Internal_boxOverlap);
  41. metaData.scriptClass->addInternalCall("Internal_sphereOverlap", (void*)&ScriptPhysics::Internal_sphereOverlap);
  42. metaData.scriptClass->addInternalCall("Internal_capsuleOverlap", (void*)&ScriptPhysics::Internal_capsuleOverlap);
  43. metaData.scriptClass->addInternalCall("Internal_convexOverlap", (void*)&ScriptPhysics::Internal_convexOverlap);
  44. metaData.scriptClass->addInternalCall("Internal_boxOverlapAny", (void*)&ScriptPhysics::Internal_boxOverlapAny);
  45. metaData.scriptClass->addInternalCall("Internal_sphereOverlapAny", (void*)&ScriptPhysics::Internal_sphereOverlapAny);
  46. metaData.scriptClass->addInternalCall("Internal_capsuleOverlapAny", (void*)&ScriptPhysics::Internal_capsuleOverlapAny);
  47. metaData.scriptClass->addInternalCall("Internal_convexOverlapAny", (void*)&ScriptPhysics::Internal_convexOverlapAny);
  48. metaData.scriptClass->addInternalCall("Internal_getGravity", (void*)&ScriptPhysics::Internal_getGravity);
  49. metaData.scriptClass->addInternalCall("Internal_setGravity", (void*)&ScriptPhysics::Internal_setGravity);
  50. metaData.scriptClass->addInternalCall("Internal_addBroadPhaseRegion", (void*)&ScriptPhysics::Internal_addBroadPhaseRegion);
  51. metaData.scriptClass->addInternalCall("Internal_removeBroadPhaseRegion", (void*)&ScriptPhysics::Internal_removeBroadPhaseRegion);
  52. metaData.scriptClass->addInternalCall("Internal_clearBroadPhaseRegions", (void*)&ScriptPhysics::Internal_clearBroadPhaseRegions);
  53. metaData.scriptClass->addInternalCall("Internal_toggleCollision", (void*)&ScriptPhysics::Internal_toggleCollision);
  54. metaData.scriptClass->addInternalCall("Internal_isCollisionEnabled", (void*)&ScriptPhysics::Internal_isCollisionEnabled);
  55. metaData.scriptClass->addInternalCall("Internal__isUpdateInProgress", (void*)&ScriptPhysics::Internal__isUpdateInProgress);
  56. }
  57. bool ScriptPhysics::Internal_rayCast(Ray* ray, __PhysicsQueryHitInterop* hit, uint64_t layer, float max)
  58. {
  59. bool tmp__output;
  60. PhysicsQueryHit tmphit;
  61. tmp__output = Physics::instance().rayCast(*ray, tmphit, layer, max);
  62. bool __output;
  63. __output = tmp__output;
  64. __PhysicsQueryHitInterop interophit;
  65. interophit = ScriptPhysicsQueryHit::toInterop(tmphit);
  66. MonoUtil::valueCopy(hit, &interophit, ScriptPhysicsQueryHit::getMetaData()->scriptClass->_getInternalClass());
  67. return __output;
  68. }
  69. bool ScriptPhysics::Internal_rayCast0(Vector3* origin, Vector3* unitDir, __PhysicsQueryHitInterop* hit, uint64_t layer, float max)
  70. {
  71. bool tmp__output;
  72. PhysicsQueryHit tmphit;
  73. tmp__output = Physics::instance().rayCast(*origin, *unitDir, tmphit, layer, max);
  74. bool __output;
  75. __output = tmp__output;
  76. __PhysicsQueryHitInterop interophit;
  77. interophit = ScriptPhysicsQueryHit::toInterop(tmphit);
  78. MonoUtil::valueCopy(hit, &interophit, ScriptPhysicsQueryHit::getMetaData()->scriptClass->_getInternalClass());
  79. return __output;
  80. }
  81. bool ScriptPhysics::Internal_boxCast(AABox* box, Quaternion* rotation, Vector3* unitDir, __PhysicsQueryHitInterop* hit, uint64_t layer, float max)
  82. {
  83. bool tmp__output;
  84. PhysicsQueryHit tmphit;
  85. tmp__output = Physics::instance().boxCast(*box, *rotation, *unitDir, tmphit, layer, max);
  86. bool __output;
  87. __output = tmp__output;
  88. __PhysicsQueryHitInterop interophit;
  89. interophit = ScriptPhysicsQueryHit::toInterop(tmphit);
  90. MonoUtil::valueCopy(hit, &interophit, ScriptPhysicsQueryHit::getMetaData()->scriptClass->_getInternalClass());
  91. return __output;
  92. }
  93. bool ScriptPhysics::Internal_sphereCast(Sphere* sphere, Vector3* unitDir, __PhysicsQueryHitInterop* hit, uint64_t layer, float max)
  94. {
  95. bool tmp__output;
  96. PhysicsQueryHit tmphit;
  97. tmp__output = Physics::instance().sphereCast(*sphere, *unitDir, tmphit, layer, max);
  98. bool __output;
  99. __output = tmp__output;
  100. __PhysicsQueryHitInterop interophit;
  101. interophit = ScriptPhysicsQueryHit::toInterop(tmphit);
  102. MonoUtil::valueCopy(hit, &interophit, ScriptPhysicsQueryHit::getMetaData()->scriptClass->_getInternalClass());
  103. return __output;
  104. }
  105. bool ScriptPhysics::Internal_capsuleCast(Capsule* capsule, Quaternion* rotation, Vector3* unitDir, __PhysicsQueryHitInterop* hit, uint64_t layer, float max)
  106. {
  107. bool tmp__output;
  108. PhysicsQueryHit tmphit;
  109. tmp__output = Physics::instance().capsuleCast(*capsule, *rotation, *unitDir, tmphit, layer, max);
  110. bool __output;
  111. __output = tmp__output;
  112. __PhysicsQueryHitInterop interophit;
  113. interophit = ScriptPhysicsQueryHit::toInterop(tmphit);
  114. MonoUtil::valueCopy(hit, &interophit, ScriptPhysicsQueryHit::getMetaData()->scriptClass->_getInternalClass());
  115. return __output;
  116. }
  117. bool ScriptPhysics::Internal_convexCast(MonoObject* mesh, Vector3* position, Quaternion* rotation, Vector3* unitDir, __PhysicsQueryHitInterop* hit, uint64_t layer, float max)
  118. {
  119. bool tmp__output;
  120. ResourceHandle<PhysicsMesh> tmpmesh;
  121. ScriptRRefBase* scriptmesh;
  122. scriptmesh = ScriptRRefBase::toNative(mesh);
  123. if(scriptmesh != nullptr)
  124. tmpmesh = static_resource_cast<PhysicsMesh>(scriptmesh->getHandle());
  125. PhysicsQueryHit tmphit;
  126. tmp__output = Physics::instance().convexCast(tmpmesh, *position, *rotation, *unitDir, tmphit, layer, max);
  127. bool __output;
  128. __output = tmp__output;
  129. __PhysicsQueryHitInterop interophit;
  130. interophit = ScriptPhysicsQueryHit::toInterop(tmphit);
  131. MonoUtil::valueCopy(hit, &interophit, ScriptPhysicsQueryHit::getMetaData()->scriptClass->_getInternalClass());
  132. return __output;
  133. }
  134. MonoArray* ScriptPhysics::Internal_rayCastAll(Ray* ray, uint64_t layer, float max)
  135. {
  136. Vector<PhysicsQueryHit> vec__output;
  137. vec__output = Physics::instance().rayCastAll(*ray, layer, max);
  138. MonoArray* __output;
  139. int arraySize__output = (int)vec__output.size();
  140. ScriptArray array__output = ScriptArray::create<ScriptPhysicsQueryHit>(arraySize__output);
  141. for(int i = 0; i < arraySize__output; i++)
  142. {
  143. array__output.set(i, ScriptPhysicsQueryHit::toInterop(vec__output[i]));
  144. }
  145. __output = array__output.getInternal();
  146. return __output;
  147. }
  148. MonoArray* ScriptPhysics::Internal_rayCastAll0(Vector3* origin, Vector3* unitDir, uint64_t layer, float max)
  149. {
  150. Vector<PhysicsQueryHit> vec__output;
  151. vec__output = Physics::instance().rayCastAll(*origin, *unitDir, layer, max);
  152. MonoArray* __output;
  153. int arraySize__output = (int)vec__output.size();
  154. ScriptArray array__output = ScriptArray::create<ScriptPhysicsQueryHit>(arraySize__output);
  155. for(int i = 0; i < arraySize__output; i++)
  156. {
  157. array__output.set(i, ScriptPhysicsQueryHit::toInterop(vec__output[i]));
  158. }
  159. __output = array__output.getInternal();
  160. return __output;
  161. }
  162. MonoArray* ScriptPhysics::Internal_boxCastAll(AABox* box, Quaternion* rotation, Vector3* unitDir, uint64_t layer, float max)
  163. {
  164. Vector<PhysicsQueryHit> vec__output;
  165. vec__output = Physics::instance().boxCastAll(*box, *rotation, *unitDir, layer, max);
  166. MonoArray* __output;
  167. int arraySize__output = (int)vec__output.size();
  168. ScriptArray array__output = ScriptArray::create<ScriptPhysicsQueryHit>(arraySize__output);
  169. for(int i = 0; i < arraySize__output; i++)
  170. {
  171. array__output.set(i, ScriptPhysicsQueryHit::toInterop(vec__output[i]));
  172. }
  173. __output = array__output.getInternal();
  174. return __output;
  175. }
  176. MonoArray* ScriptPhysics::Internal_sphereCastAll(Sphere* sphere, Vector3* unitDir, uint64_t layer, float max)
  177. {
  178. Vector<PhysicsQueryHit> vec__output;
  179. vec__output = Physics::instance().sphereCastAll(*sphere, *unitDir, layer, max);
  180. MonoArray* __output;
  181. int arraySize__output = (int)vec__output.size();
  182. ScriptArray array__output = ScriptArray::create<ScriptPhysicsQueryHit>(arraySize__output);
  183. for(int i = 0; i < arraySize__output; i++)
  184. {
  185. array__output.set(i, ScriptPhysicsQueryHit::toInterop(vec__output[i]));
  186. }
  187. __output = array__output.getInternal();
  188. return __output;
  189. }
  190. MonoArray* ScriptPhysics::Internal_capsuleCastAll(Capsule* capsule, Quaternion* rotation, Vector3* unitDir, uint64_t layer, float max)
  191. {
  192. Vector<PhysicsQueryHit> vec__output;
  193. vec__output = Physics::instance().capsuleCastAll(*capsule, *rotation, *unitDir, layer, max);
  194. MonoArray* __output;
  195. int arraySize__output = (int)vec__output.size();
  196. ScriptArray array__output = ScriptArray::create<ScriptPhysicsQueryHit>(arraySize__output);
  197. for(int i = 0; i < arraySize__output; i++)
  198. {
  199. array__output.set(i, ScriptPhysicsQueryHit::toInterop(vec__output[i]));
  200. }
  201. __output = array__output.getInternal();
  202. return __output;
  203. }
  204. MonoArray* ScriptPhysics::Internal_convexCastAll(MonoObject* mesh, Vector3* position, Quaternion* rotation, Vector3* unitDir, uint64_t layer, float max)
  205. {
  206. Vector<PhysicsQueryHit> vec__output;
  207. ResourceHandle<PhysicsMesh> tmpmesh;
  208. ScriptRRefBase* scriptmesh;
  209. scriptmesh = ScriptRRefBase::toNative(mesh);
  210. if(scriptmesh != nullptr)
  211. tmpmesh = static_resource_cast<PhysicsMesh>(scriptmesh->getHandle());
  212. vec__output = Physics::instance().convexCastAll(tmpmesh, *position, *rotation, *unitDir, layer, max);
  213. MonoArray* __output;
  214. int arraySize__output = (int)vec__output.size();
  215. ScriptArray array__output = ScriptArray::create<ScriptPhysicsQueryHit>(arraySize__output);
  216. for(int i = 0; i < arraySize__output; i++)
  217. {
  218. array__output.set(i, ScriptPhysicsQueryHit::toInterop(vec__output[i]));
  219. }
  220. __output = array__output.getInternal();
  221. return __output;
  222. }
  223. bool ScriptPhysics::Internal_rayCastAny(Ray* ray, uint64_t layer, float max)
  224. {
  225. bool tmp__output;
  226. tmp__output = Physics::instance().rayCastAny(*ray, layer, max);
  227. bool __output;
  228. __output = tmp__output;
  229. return __output;
  230. }
  231. bool ScriptPhysics::Internal_rayCastAny0(Vector3* origin, Vector3* unitDir, uint64_t layer, float max)
  232. {
  233. bool tmp__output;
  234. tmp__output = Physics::instance().rayCastAny(*origin, *unitDir, layer, max);
  235. bool __output;
  236. __output = tmp__output;
  237. return __output;
  238. }
  239. bool ScriptPhysics::Internal_boxCastAny(AABox* box, Quaternion* rotation, Vector3* unitDir, uint64_t layer, float max)
  240. {
  241. bool tmp__output;
  242. tmp__output = Physics::instance().boxCastAny(*box, *rotation, *unitDir, layer, max);
  243. bool __output;
  244. __output = tmp__output;
  245. return __output;
  246. }
  247. bool ScriptPhysics::Internal_sphereCastAny(Sphere* sphere, Vector3* unitDir, uint64_t layer, float max)
  248. {
  249. bool tmp__output;
  250. tmp__output = Physics::instance().sphereCastAny(*sphere, *unitDir, layer, max);
  251. bool __output;
  252. __output = tmp__output;
  253. return __output;
  254. }
  255. bool ScriptPhysics::Internal_capsuleCastAny(Capsule* capsule, Quaternion* rotation, Vector3* unitDir, uint64_t layer, float max)
  256. {
  257. bool tmp__output;
  258. tmp__output = Physics::instance().capsuleCastAny(*capsule, *rotation, *unitDir, layer, max);
  259. bool __output;
  260. __output = tmp__output;
  261. return __output;
  262. }
  263. bool ScriptPhysics::Internal_convexCastAny(MonoObject* mesh, Vector3* position, Quaternion* rotation, Vector3* unitDir, uint64_t layer, float max)
  264. {
  265. bool tmp__output;
  266. ResourceHandle<PhysicsMesh> tmpmesh;
  267. ScriptRRefBase* scriptmesh;
  268. scriptmesh = ScriptRRefBase::toNative(mesh);
  269. if(scriptmesh != nullptr)
  270. tmpmesh = static_resource_cast<PhysicsMesh>(scriptmesh->getHandle());
  271. tmp__output = Physics::instance().convexCastAny(tmpmesh, *position, *rotation, *unitDir, layer, max);
  272. bool __output;
  273. __output = tmp__output;
  274. return __output;
  275. }
  276. MonoArray* ScriptPhysics::Internal_boxOverlap(AABox* box, Quaternion* rotation, uint64_t layer)
  277. {
  278. Vector<GameObjectHandle<CCollider>> vec__output;
  279. vec__output = Physics::instance().boxOverlap(*box, *rotation, layer);
  280. MonoArray* __output;
  281. int arraySize__output = (int)vec__output.size();
  282. ScriptArray array__output = ScriptArray::create<ScriptCCollider>(arraySize__output);
  283. for(int i = 0; i < arraySize__output; i++)
  284. {
  285. ScriptComponentBase* script__output = nullptr;
  286. if(vec__output[i])
  287. script__output = ScriptGameObjectManager::instance().getBuiltinScriptComponent(static_object_cast<Component>(vec__output[i]));
  288. if(script__output != nullptr)
  289. array__output.set(i, script__output->getManagedInstance());
  290. else
  291. array__output.set(i, nullptr);
  292. }
  293. __output = array__output.getInternal();
  294. return __output;
  295. }
  296. MonoArray* ScriptPhysics::Internal_sphereOverlap(Sphere* sphere, uint64_t layer)
  297. {
  298. Vector<GameObjectHandle<CCollider>> vec__output;
  299. vec__output = Physics::instance().sphereOverlap(*sphere, layer);
  300. MonoArray* __output;
  301. int arraySize__output = (int)vec__output.size();
  302. ScriptArray array__output = ScriptArray::create<ScriptCCollider>(arraySize__output);
  303. for(int i = 0; i < arraySize__output; i++)
  304. {
  305. ScriptComponentBase* script__output = nullptr;
  306. if(vec__output[i])
  307. script__output = ScriptGameObjectManager::instance().getBuiltinScriptComponent(static_object_cast<Component>(vec__output[i]));
  308. if(script__output != nullptr)
  309. array__output.set(i, script__output->getManagedInstance());
  310. else
  311. array__output.set(i, nullptr);
  312. }
  313. __output = array__output.getInternal();
  314. return __output;
  315. }
  316. MonoArray* ScriptPhysics::Internal_capsuleOverlap(Capsule* capsule, Quaternion* rotation, uint64_t layer)
  317. {
  318. Vector<GameObjectHandle<CCollider>> vec__output;
  319. vec__output = Physics::instance().capsuleOverlap(*capsule, *rotation, layer);
  320. MonoArray* __output;
  321. int arraySize__output = (int)vec__output.size();
  322. ScriptArray array__output = ScriptArray::create<ScriptCCollider>(arraySize__output);
  323. for(int i = 0; i < arraySize__output; i++)
  324. {
  325. ScriptComponentBase* script__output = nullptr;
  326. if(vec__output[i])
  327. script__output = ScriptGameObjectManager::instance().getBuiltinScriptComponent(static_object_cast<Component>(vec__output[i]));
  328. if(script__output != nullptr)
  329. array__output.set(i, script__output->getManagedInstance());
  330. else
  331. array__output.set(i, nullptr);
  332. }
  333. __output = array__output.getInternal();
  334. return __output;
  335. }
  336. MonoArray* ScriptPhysics::Internal_convexOverlap(MonoObject* mesh, Vector3* position, Quaternion* rotation, uint64_t layer)
  337. {
  338. Vector<GameObjectHandle<CCollider>> vec__output;
  339. ResourceHandle<PhysicsMesh> tmpmesh;
  340. ScriptRRefBase* scriptmesh;
  341. scriptmesh = ScriptRRefBase::toNative(mesh);
  342. if(scriptmesh != nullptr)
  343. tmpmesh = static_resource_cast<PhysicsMesh>(scriptmesh->getHandle());
  344. vec__output = Physics::instance().convexOverlap(tmpmesh, *position, *rotation, layer);
  345. MonoArray* __output;
  346. int arraySize__output = (int)vec__output.size();
  347. ScriptArray array__output = ScriptArray::create<ScriptCCollider>(arraySize__output);
  348. for(int i = 0; i < arraySize__output; i++)
  349. {
  350. ScriptComponentBase* script__output = nullptr;
  351. if(vec__output[i])
  352. script__output = ScriptGameObjectManager::instance().getBuiltinScriptComponent(static_object_cast<Component>(vec__output[i]));
  353. if(script__output != nullptr)
  354. array__output.set(i, script__output->getManagedInstance());
  355. else
  356. array__output.set(i, nullptr);
  357. }
  358. __output = array__output.getInternal();
  359. return __output;
  360. }
  361. bool ScriptPhysics::Internal_boxOverlapAny(AABox* box, Quaternion* rotation, uint64_t layer)
  362. {
  363. bool tmp__output;
  364. tmp__output = Physics::instance().boxOverlapAny(*box, *rotation, layer);
  365. bool __output;
  366. __output = tmp__output;
  367. return __output;
  368. }
  369. bool ScriptPhysics::Internal_sphereOverlapAny(Sphere* sphere, uint64_t layer)
  370. {
  371. bool tmp__output;
  372. tmp__output = Physics::instance().sphereOverlapAny(*sphere, layer);
  373. bool __output;
  374. __output = tmp__output;
  375. return __output;
  376. }
  377. bool ScriptPhysics::Internal_capsuleOverlapAny(Capsule* capsule, Quaternion* rotation, uint64_t layer)
  378. {
  379. bool tmp__output;
  380. tmp__output = Physics::instance().capsuleOverlapAny(*capsule, *rotation, layer);
  381. bool __output;
  382. __output = tmp__output;
  383. return __output;
  384. }
  385. bool ScriptPhysics::Internal_convexOverlapAny(MonoObject* mesh, Vector3* position, Quaternion* rotation, uint64_t layer)
  386. {
  387. bool tmp__output;
  388. ResourceHandle<PhysicsMesh> tmpmesh;
  389. ScriptRRefBase* scriptmesh;
  390. scriptmesh = ScriptRRefBase::toNative(mesh);
  391. if(scriptmesh != nullptr)
  392. tmpmesh = static_resource_cast<PhysicsMesh>(scriptmesh->getHandle());
  393. tmp__output = Physics::instance().convexOverlapAny(tmpmesh, *position, *rotation, layer);
  394. bool __output;
  395. __output = tmp__output;
  396. return __output;
  397. }
  398. void ScriptPhysics::Internal_getGravity(Vector3* __output)
  399. {
  400. Vector3 tmp__output;
  401. tmp__output = Physics::instance().getGravity();
  402. *__output = tmp__output;
  403. }
  404. void ScriptPhysics::Internal_setGravity(Vector3* gravity)
  405. {
  406. Physics::instance().setGravity(*gravity);
  407. }
  408. uint32_t ScriptPhysics::Internal_addBroadPhaseRegion(AABox* region)
  409. {
  410. uint32_t tmp__output;
  411. tmp__output = Physics::instance().addBroadPhaseRegion(*region);
  412. uint32_t __output;
  413. __output = tmp__output;
  414. return __output;
  415. }
  416. void ScriptPhysics::Internal_removeBroadPhaseRegion(uint32_t handle)
  417. {
  418. Physics::instance().removeBroadPhaseRegion(handle);
  419. }
  420. void ScriptPhysics::Internal_clearBroadPhaseRegions()
  421. {
  422. Physics::instance().clearBroadPhaseRegions();
  423. }
  424. void ScriptPhysics::Internal_toggleCollision(uint64_t groupA, uint64_t groupB, bool enabled)
  425. {
  426. Physics::instance().toggleCollision(groupA, groupB, enabled);
  427. }
  428. bool ScriptPhysics::Internal_isCollisionEnabled(uint64_t groupA, uint64_t groupB)
  429. {
  430. bool tmp__output;
  431. tmp__output = Physics::instance().isCollisionEnabled(groupA, groupB);
  432. bool __output;
  433. __output = tmp__output;
  434. return __output;
  435. }
  436. bool ScriptPhysics::Internal__isUpdateInProgress()
  437. {
  438. bool tmp__output;
  439. tmp__output = Physics::instance()._isUpdateInProgress();
  440. bool __output;
  441. __output = tmp__output;
  442. return __output;
  443. }
  444. }