diff options
Diffstat (limited to 'marching/Assets/Scripts/Physics/PhysicsManager_CollisionDetection.cs')
-rw-r--r-- | marching/Assets/Scripts/Physics/PhysicsManager_CollisionDetection.cs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/marching/Assets/Scripts/Physics/PhysicsManager_CollisionDetection.cs b/marching/Assets/Scripts/Physics/PhysicsManager_CollisionDetection.cs index 3436a34..a0dcc97 100644 --- a/marching/Assets/Scripts/Physics/PhysicsManager_CollisionDetection.cs +++ b/marching/Assets/Scripts/Physics/PhysicsManager_CollisionDetection.cs @@ -48,8 +48,14 @@ public partial class PhysicsManager : Singleton<PhysicsManager> public static bool BoxVsBox(Vector4 b1, Vector4 b2) { - Vector2 intersection = new Vector2(); - return BoxVsBox(b1, b2, out intersection); + float b1w = b1.z / 2f, b1h = b1.w / 2f, b2w = b2.z / 2f, b2h = b2.w / 2f; + float distX = b2.x - b1.x; + float distY = b2.y - b1.y; + if (Mathf.Abs(distX) < b1w + b2w && Mathf.Abs(distY) < b1h + b2h) + { + return true; + } + return false; } public static bool BoxVsCircle(Vector4 box, Vector2 pos, float radius) |