Submarine.PickBody & CheckVisibility ignore sensors

This commit is contained in:
Joonas Rikkonen
2017-09-03 13:07:20 +03:00
parent c1f5e3cbda
commit 1e41abadd1

View File

@@ -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;