summaryrefslogtreecommitdiff
path: root/marching/Assets/Scripts/Physics/PhysicsManager_CollisionDetection.cs
diff options
context:
space:
mode:
authorchai <215380520@qq.com>2023-05-10 09:35:29 +0800
committerchai <215380520@qq.com>2023-05-10 09:35:29 +0800
commitcaeba98e0385edebb344e6dbd024c01801a75fc4 (patch)
tree989ad28501cee2ee47a14214c20bc7a8b9c8a71b /marching/Assets/Scripts/Physics/PhysicsManager_CollisionDetection.cs
parentfc2cfdad0d3cfb3844681855c1c45d9415f5ee8e (diff)
*misc
Diffstat (limited to 'marching/Assets/Scripts/Physics/PhysicsManager_CollisionDetection.cs')
-rw-r--r--marching/Assets/Scripts/Physics/PhysicsManager_CollisionDetection.cs10
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)