From 4d6af7e1686b1216600acf4514a23b53e564dca0 Mon Sep 17 00:00:00 2001 From: Alexis Huvier Date: Wed, 16 Aug 2023 14:25:02 +0200 Subject: [PATCH] fix(collision) : Calculate all collisions --- SharpEngine.Core/Component/CollisionComponent.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/SharpEngine.Core/Component/CollisionComponent.cs b/SharpEngine.Core/Component/CollisionComponent.cs index 025af4d..9370b34 100644 --- a/SharpEngine.Core/Component/CollisionComponent.cs +++ b/SharpEngine.Core/Component/CollisionComponent.cs @@ -65,6 +65,7 @@ public Rect GetCollisionRect(Vec2? position = null) /// True if can go to position public bool CanGo(Vec2 position) { + var canGo = true; foreach (var entity in Entity?.Scene?.Entities!) { if (entity == Entity) continue; @@ -76,11 +77,13 @@ public bool CanGo(Vec2 position) { CollisionCallback?.Invoke(Entity, entity); entityPhysics.CollisionCallback?.Invoke(Entity, entity); - return !(Solid && entityPhysics.Solid); + + if (canGo) + canGo = !(Solid && entityPhysics.Solid); } } - return true; + return canGo; } ///