73 lines
2.7 KiB
C#
73 lines
2.7 KiB
C#
using FarseerPhysics.Dynamics;
|
|
|
|
namespace Barotrauma
|
|
{
|
|
static class Physics
|
|
{
|
|
public const Category CollisionNone = Category.None;
|
|
public const Category CollisionAll = Category.All;
|
|
public const Category CollisionWall = Category.Cat1;
|
|
public const Category CollisionCharacter = Category.Cat2;
|
|
public const Category CollisionPlatform = Category.Cat3;
|
|
public const Category CollisionStairs = Category.Cat4;
|
|
public const Category CollisionItem = Category.Cat5;
|
|
public const Category CollisionItemBlocking = Category.Cat6;
|
|
public const Category CollisionProjectile = Category.Cat7;
|
|
public const Category CollisionLevel = Category.Cat8;
|
|
public const Category CollisionRepairableWall = Category.Cat9;
|
|
|
|
public const Category DefaultItemCollidesWith = CollisionWall | CollisionLevel | CollisionPlatform | CollisionRepairableWall;
|
|
|
|
public static float DisplayToRealWorldRatio = 1.0f / 100.0f;
|
|
|
|
public const float DisplayToSimRation = 100.0f;
|
|
|
|
public const float NeutralDensity = 10.0f;
|
|
|
|
public static bool TryParseCollisionCategory(string categoryName, out Category category)
|
|
{
|
|
category = Category.None;
|
|
if (string.IsNullOrEmpty(categoryName))
|
|
{
|
|
return false;
|
|
}
|
|
switch (categoryName.ToLowerInvariant())
|
|
{
|
|
case "all":
|
|
category = CollisionAll;
|
|
return true;
|
|
case "wall":
|
|
case "structure":
|
|
category = CollisionWall;
|
|
return true;
|
|
case "character":
|
|
category = CollisionCharacter;
|
|
return true;
|
|
case "platform":
|
|
category = CollisionPlatform;
|
|
return true;
|
|
case "stairs":
|
|
category = CollisionStairs;
|
|
return true;
|
|
case "item":
|
|
category = CollisionItem;
|
|
return true;
|
|
case "itemblocking":
|
|
category = CollisionItemBlocking;
|
|
return true;
|
|
case "projectile":
|
|
category = CollisionProjectile;
|
|
return true;
|
|
case "level":
|
|
category = CollisionLevel;
|
|
return true;
|
|
case "repair":
|
|
category = CollisionRepairableWall;
|
|
return true;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|