diff options
Diffstat (limited to 'src/crepe')
-rw-r--r-- | src/crepe/api/LoopManager.cpp | 1 | ||||
-rw-r--r-- | src/crepe/api/Rigidbody.h | 1 | ||||
-rw-r--r-- | src/crepe/system/CollisionSystem.cpp | 23 | ||||
-rw-r--r-- | src/crepe/system/CollisionSystem.h | 2 |
4 files changed, 14 insertions, 13 deletions
diff --git a/src/crepe/api/LoopManager.cpp b/src/crepe/api/LoopManager.cpp index d4819ea..478c8ba 100644 --- a/src/crepe/api/LoopManager.cpp +++ b/src/crepe/api/LoopManager.cpp @@ -1,6 +1,5 @@ #include "../facade/SDLContext.h" -#include "../system/PhysicsSystem.h" #include "../system/AnimatorSystem.h" #include "../system/CollisionSystem.h" #include "../system/ParticleSystem.h" diff --git a/src/crepe/api/Rigidbody.h b/src/crepe/api/Rigidbody.h index 5c9f6df..293b1a4 100644 --- a/src/crepe/api/Rigidbody.h +++ b/src/crepe/api/Rigidbody.h @@ -139,7 +139,6 @@ public: * collisions with other GameObjects that belong to these layers. */ std::vector<int> collision_layers; - }; public: diff --git a/src/crepe/system/CollisionSystem.cpp b/src/crepe/system/CollisionSystem.cpp index 3c103e9..e3b2eca 100644 --- a/src/crepe/system/CollisionSystem.cpp +++ b/src/crepe/system/CollisionSystem.cpp @@ -359,7 +359,9 @@ CollisionSystem::gather_collisions(std::vector<CollisionInternal> & colliders) { for (size_t i = 0; i < colliders.size(); ++i) { for (size_t j = i + 1; j < colliders.size(); ++j) { if (colliders[i].id == colliders[j].id) continue; - if(!have_common_layer(colliders[i].rigidbody.data.collision_layers,colliders[j].rigidbody.data.collision_layers)) continue; + if (!have_common_layer(colliders[i].rigidbody.data.collision_layers, + colliders[j].rigidbody.data.collision_layers)) + continue; CollisionInternalType type = get_collider_type(colliders[i].collider, colliders[j].collider); if (!get_collision( @@ -382,15 +384,16 @@ CollisionSystem::gather_collisions(std::vector<CollisionInternal> & colliders) { return collisions_ret; } -bool CollisionSystem::have_common_layer(const std::vector<int>& layers1, const std::vector<int>& layers2) { - // Iterate through each layer in the first vector - for (int layer : layers1) { - // Check if the current layer is present in the second vector - if (std::find(layers2.begin(), layers2.end(), layer) != layers2.end()) { - return true; // Common layer found - } - } - return false; // No common layers found +bool CollisionSystem::have_common_layer(const std::vector<int> & layers1, + const std::vector<int> & layers2) { + // Iterate through each layer in the first vector + for (int layer : layers1) { + // Check if the current layer is present in the second vector + if (std::find(layers2.begin(), layers2.end(), layer) != layers2.end()) { + return true; // Common layer found + } + } + return false; // No common layers found } CollisionSystem::CollisionInternalType diff --git a/src/crepe/system/CollisionSystem.h b/src/crepe/system/CollisionSystem.h index a22baf2..eb361b8 100644 --- a/src/crepe/system/CollisionSystem.h +++ b/src/crepe/system/CollisionSystem.h @@ -228,7 +228,7 @@ private: * \return Returns true if there is at least one common layer, false otherwise. */ - bool have_common_layer(const std::vector<int>& layers1, const std::vector<int>& layers2); + bool have_common_layer(const std::vector<int> & layers1, const std::vector<int> & layers2); /** * \brief Checks for collision between two colliders. |