BsPhysics.cpp 654 B

123456789101112131415161718192021222324252627282930
  1. #include "BsPhysics.h"
  2. namespace BansheeEngine
  3. {
  4. Physics::Physics()
  5. {
  6. memset(mCollisionMap, 1, CollisionMapSize * CollisionMapSize * sizeof(bool));
  7. }
  8. void Physics::toggleCollision(UINT64 groupA, UINT64 groupB, bool enabled)
  9. {
  10. assert(groupA < CollisionMapSize && groupB < CollisionMapSize);
  11. mMutex.lock();
  12. mCollisionMap[groupA][groupB] = enabled;
  13. }
  14. bool Physics::isCollisionEnabled(UINT64 groupA, UINT64 groupB) const
  15. {
  16. assert(groupA < CollisionMapSize && groupB < CollisionMapSize);
  17. mMutex.lock();
  18. return mCollisionMap[groupA][groupB];
  19. }
  20. Physics& gPhysics()
  21. {
  22. return Physics::instance();
  23. }
  24. }