void RaycastComponent::onCheck(const btVector3& start, const btVector3& end) { btCollisionWorld::ClosestRayResultCallback raycast_callback(start, end); getNode()->getScene()->getPhysicsWorld()->getBulletWorld()->rayTest(start, end, raycast_callback); if(raycast_callback.hasHit()) { btCollisionObject* collision_object = raycast_callback.m_collisionObject; PhysicsBodyComponent* hit_object = static_cast<PhysicsBodyComponent*>(collision_object->getUserPointer()); emit sHit(hit_object); } }
void CollisionComponent::OnHit(PhysicsBodyComponent* hit, PhysicsBodyComponent* bullet) { Node* node = bullet->GetNode(); node->Kill(); emit sHit(hit); }