diff --git a/src/entities/KartPhysicsComponent.cpp b/src/entities/KartPhysicsComponent.cpp index d2af911..c25e89a 100644 --- a/src/entities/KartPhysicsComponent.cpp +++ b/src/entities/KartPhysicsComponent.cpp @@ -20,7 +20,8 @@ KartPhysicsComponent::KartPhysicsComponent(mat4 transform, physicsSystem, physicsCollisionSubSystem, physicsColliderQuerySubSystem, - collider) + collider), + mInitialTransform(transform) {} KartPhysicsComponent::~KartPhysicsComponent() @@ -33,9 +34,8 @@ void KartPhysicsComponent::update(const milliseconds dtms) if (getPosition().y < -100.0f) { - setPosition(vec3(getFloatInRange(-10.0f, 10.0f), - 10, /// above the ball - getFloatInRange(-10.0f, 10.0f))); + setPosition(vec3(0, 0, 0), true); + setTransform(mInitialTransform); } if (glm::length(mDirection) > 0) diff --git a/src/entities/KartPhysicsComponent.h b/src/entities/KartPhysicsComponent.h index 4dd6eac..31b7017 100644 --- a/src/entities/KartPhysicsComponent.h +++ b/src/entities/KartPhysicsComponent.h @@ -77,6 +77,7 @@ class KartPhysicsComponent: { private: vec3 mDirection; + mat4 mInitialTransform; ///< Used for reset. public: KartPhysicsComponent(mat4 transform,