From 1e41abadd12ff975e7f90b7183de4afc2561de7c Mon Sep 17 00:00:00 2001 From: Joonas Rikkonen Date: Sun, 3 Sep 2017 13:07:20 +0300 Subject: [PATCH] Submarine.PickBody & CheckVisibility ignore sensors --- Barotrauma/BarotraumaShared/Source/Map/Submarine.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Barotrauma/BarotraumaShared/Source/Map/Submarine.cs b/Barotrauma/BarotraumaShared/Source/Map/Submarine.cs index 59fff3778..2dffd21e1 100644 --- a/Barotrauma/BarotraumaShared/Source/Map/Submarine.cs +++ b/Barotrauma/BarotraumaShared/Source/Map/Submarine.cs @@ -520,10 +520,11 @@ namespace Barotrauma Body closestBody = null; GameMain.World.RayCast((fixture, point, normal, fraction) => { - if (fixture == null || + if (fixture == null || + fixture.IsSensor || fixture.CollisionCategories == Category.None || fixture.CollisionCategories == Physics.CollisionItem) return -1; - + if (collisionCategory != null && !fixture.CollisionCategories.HasFlag((Category)collisionCategory) && !((Category)collisionCategory).HasFlag(fixture.CollisionCategories)) return -1; @@ -568,7 +569,7 @@ namespace Barotrauma GameMain.World.RayCast((fixture, point, normal, fraction) => { - if (fixture == null || + if (fixture == null || fixture.IsSensor || (!fixture.CollisionCategories.HasFlag(Physics.CollisionWall) && !fixture.CollisionCategories.HasFlag(Physics.CollisionLevel))) return -1; if (ignoreLevel && fixture.CollisionCategories == Physics.CollisionLevel) return -1;