Files
LuaCsForBarotraumaEP/Barotrauma/BarotraumaShared/SharedSource/Physics/Physics.cs
2024-06-18 16:50:02 +03:00

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