diff options
author | chai <215380520@qq.com> | 2023-05-10 09:35:29 +0800 |
---|---|---|
committer | chai <215380520@qq.com> | 2023-05-10 09:35:29 +0800 |
commit | caeba98e0385edebb344e6dbd024c01801a75fc4 (patch) | |
tree | 989ad28501cee2ee47a14214c20bc7a8b9c8a71b /marching/Assets/Scripts/Physics/PhysicsManager_CollisionDetection.cs | |
parent | fc2cfdad0d3cfb3844681855c1c45d9415f5ee8e (diff) |
*misc
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) |