Auto wake up collider when calling API to apply force or change force.

This commit is contained in:
xiejiangzhi 2023-11-18 09:32:12 +08:00
parent eefc89909e
commit 1e120d3401
1 changed files with 5 additions and 0 deletions

View File

@ -720,6 +720,7 @@ void lovrColliderGetLinearVelocity(Collider* collider, float* x, float* y, float
}
void lovrColliderSetLinearVelocity(Collider* collider, float x, float y, float z) {
dBodyEnable(collider->body);
dBodySetLinearVel(collider->body, x, y, z);
}
@ -731,6 +732,7 @@ void lovrColliderGetAngularVelocity(Collider* collider, float* x, float* y, floa
}
void lovrColliderSetAngularVelocity(Collider* collider, float x, float y, float z) {
dBodyEnable(collider->body);
dBodySetAngularVel(collider->body, x, y, z);
}
@ -755,14 +757,17 @@ void lovrColliderSetAngularDamping(Collider* collider, float damping, float thre
}
void lovrColliderApplyForce(Collider* collider, float x, float y, float z) {
dBodyEnable(collider->body);
dBodyAddForce(collider->body, x, y, z);
}
void lovrColliderApplyForceAtPosition(Collider* collider, float x, float y, float z, float cx, float cy, float cz) {
dBodyEnable(collider->body);
dBodyAddForceAtPos(collider->body, x, y, z, cx, cy, cz);
}
void lovrColliderApplyTorque(Collider* collider, float x, float y, float z) {
dBodyEnable(collider->body);
dBodyAddTorque(collider->body, x, y, z);
}