BsRigidbody.cpp 772 B

1234567891011121314151617181920212223242526272829303132
  1. #include "BsRigidbody.h"
  2. #include "BsPhysics.h"
  3. namespace BansheeEngine
  4. {
  5. Rigidbody::~Rigidbody()
  6. {
  7. // It is assumed that child colliders will keep the parent Rigidbody alive, so we don't need to clear their parents
  8. }
  9. void Rigidbody::addCollider(FCollider* collider)
  10. {
  11. mColliders.push_back(collider);
  12. }
  13. void Rigidbody::removeCollider(FCollider* collider)
  14. {
  15. auto iterFind = std::find(mColliders.begin(), mColliders.end(), collider);
  16. if (iterFind != mColliders.end())
  17. mColliders.erase(iterFind);
  18. }
  19. void Rigidbody::setIsActive(bool value)
  20. {
  21. mIsActive = value;
  22. }
  23. SPtr<Rigidbody> Rigidbody::create(const Vector3& position, const Quaternion& rotation)
  24. {
  25. return gPhysics().createRigidbody(position, rotation);
  26. }
  27. }