Collider:isDestroyed;

This commit is contained in:
bjorn 2023-06-22 12:13:15 -07:00
parent 9c56c41b03
commit a511064987
3 changed files with 13 additions and 0 deletions

View File

@ -10,6 +10,13 @@ static int l_lovrColliderDestroy(lua_State* L) {
return 0;
}
static int l_lovrColliderIsDestroyed(lua_State* L) {
Collider* collider = luax_checktype(L, 1, Collider);
bool destroyed = lovrColliderIsDestroyed(collider);
lua_pushboolean(L, destroyed);
return 1;
}
static int l_lovrColliderGetWorld(lua_State* L) {
Collider* collider = luax_checktype(L, 1, Collider);
World* world = lovrColliderGetWorld(collider);
@ -491,6 +498,7 @@ static int l_lovrColliderSetTag(lua_State* L) {
const luaL_Reg lovrCollider[] = {
{ "destroy", l_lovrColliderDestroy },
{ "isDestroyed", l_lovrColliderIsDestroyed },
{ "getWorld", l_lovrColliderGetWorld },
{ "addShape", l_lovrColliderAddShape },
{ "removeShape", l_lovrColliderRemoveShape },

View File

@ -452,6 +452,10 @@ void lovrColliderDestroyData(Collider* collider) {
lovrRelease(collider, lovrColliderDestroy);
}
bool lovrColliderIsDestroyed(Collider* collider) {
return !collider->body;
}
void lovrColliderInitInertia(Collider* collider, Shape* shape) {
// compute inertia matrix for default density
const float density = 1.0f;

View File

@ -73,6 +73,7 @@ int lovrWorldIsCollisionEnabledBetween(World* world, const char* tag1, const cha
Collider* lovrColliderCreate(World* world, float x, float y, float z);
void lovrColliderDestroy(void* ref);
void lovrColliderDestroyData(Collider* collider);
bool lovrColliderIsDestroyed(Collider* collider);
void lovrColliderInitInertia(Collider* collider, Shape* shape);
World* lovrColliderGetWorld(Collider* collider);
Collider* lovrColliderGetNext(Collider* collider);