BsScriptPhysics.generated.h 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #pragma once
  2. #include "BsScriptEnginePrerequisites.h"
  3. #include "BsScriptObject.h"
  4. namespace bs
  5. {
  6. struct __PhysicsQueryHitInterop;
  7. class Physics;
  8. class PhysicsMesh;
  9. class BS_SCR_BE_EXPORT ScriptPhysics : public ScriptObject<ScriptPhysics>
  10. {
  11. public:
  12. SCRIPT_OBJ(ENGINE_ASSEMBLY, "BansheeEngine", "Physics")
  13. ScriptPhysics(MonoObject* managedInstance);
  14. private:
  15. static bool Internal_rayCast(Ray* ray, __PhysicsQueryHitInterop* hit, uint64_t layer, float max);
  16. static bool Internal_rayCast0(Vector3* origin, Vector3* unitDir, __PhysicsQueryHitInterop* hit, uint64_t layer, float max);
  17. static bool Internal_boxCast(AABox* box, Quaternion* rotation, Vector3* unitDir, __PhysicsQueryHitInterop* hit, uint64_t layer, float max);
  18. static bool Internal_sphereCast(Sphere* sphere, Vector3* unitDir, __PhysicsQueryHitInterop* hit, uint64_t layer, float max);
  19. static bool Internal_capsuleCast(Capsule* capsule, Quaternion* rotation, Vector3* unitDir, __PhysicsQueryHitInterop* hit, uint64_t layer, float max);
  20. static bool Internal_convexCast(MonoObject* mesh, Vector3* position, Quaternion* rotation, Vector3* unitDir, __PhysicsQueryHitInterop* hit, uint64_t layer, float max);
  21. static MonoArray* Internal_rayCastAll(Ray* ray, uint64_t layer, float max);
  22. static MonoArray* Internal_rayCastAll0(Vector3* origin, Vector3* unitDir, uint64_t layer, float max);
  23. static MonoArray* Internal_boxCastAll(AABox* box, Quaternion* rotation, Vector3* unitDir, uint64_t layer, float max);
  24. static MonoArray* Internal_sphereCastAll(Sphere* sphere, Vector3* unitDir, uint64_t layer, float max);
  25. static MonoArray* Internal_capsuleCastAll(Capsule* capsule, Quaternion* rotation, Vector3* unitDir, uint64_t layer, float max);
  26. static MonoArray* Internal_convexCastAll(MonoObject* mesh, Vector3* position, Quaternion* rotation, Vector3* unitDir, uint64_t layer, float max);
  27. static bool Internal_rayCastAny(Ray* ray, uint64_t layer, float max);
  28. static bool Internal_rayCastAny0(Vector3* origin, Vector3* unitDir, uint64_t layer, float max);
  29. static bool Internal_boxCastAny(AABox* box, Quaternion* rotation, Vector3* unitDir, uint64_t layer, float max);
  30. static bool Internal_sphereCastAny(Sphere* sphere, Vector3* unitDir, uint64_t layer, float max);
  31. static bool Internal_capsuleCastAny(Capsule* capsule, Quaternion* rotation, Vector3* unitDir, uint64_t layer, float max);
  32. static bool Internal_convexCastAny(MonoObject* mesh, Vector3* position, Quaternion* rotation, Vector3* unitDir, uint64_t layer, float max);
  33. static MonoArray* Internal_boxOverlap(AABox* box, Quaternion* rotation, uint64_t layer);
  34. static MonoArray* Internal_sphereOverlap(Sphere* sphere, uint64_t layer);
  35. static MonoArray* Internal_capsuleOverlap(Capsule* capsule, Quaternion* rotation, uint64_t layer);
  36. static MonoArray* Internal_convexOverlap(MonoObject* mesh, Vector3* position, Quaternion* rotation, uint64_t layer);
  37. static bool Internal_boxOverlapAny(AABox* box, Quaternion* rotation, uint64_t layer);
  38. static bool Internal_sphereOverlapAny(Sphere* sphere, uint64_t layer);
  39. static bool Internal_capsuleOverlapAny(Capsule* capsule, Quaternion* rotation, uint64_t layer);
  40. static bool Internal_convexOverlapAny(MonoObject* mesh, Vector3* position, Quaternion* rotation, uint64_t layer);
  41. static void Internal_getGravity(Vector3* __output);
  42. static void Internal_setGravity(Vector3* gravity);
  43. static uint32_t Internal_addBroadPhaseRegion(AABox* region);
  44. static void Internal_removeBroadPhaseRegion(uint32_t handle);
  45. static void Internal_clearBroadPhaseRegions();
  46. static void Internal_toggleCollision(uint64_t groupA, uint64_t groupB, bool enabled);
  47. static bool Internal_isCollisionEnabled(uint64_t groupA, uint64_t groupB);
  48. static bool Internal__isUpdateInProgress();
  49. };
  50. }