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);
}