BsScriptPhysics.generated.h 3.8 KB

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