Files
LuaCsForBarotraumaEP/Subsurface/Source/Physics/Physics.cs
2015-12-26 19:33:23 +02:00

51 lines
1.6 KiB
C#

using System;
using FarseerPhysics.Dynamics;
using Microsoft.Xna.Framework;
namespace Barotrauma
{
static class Physics
{
private static double alpha;
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 CollisionMisc = Category.Cat5;
public const Category CollisionProjectile = Category.Cat6;
public const Category CollisionLevel = Category.Cat7;
public static double accumulator;
public static double step = 1.0/60.0;
public const float DisplayToSimRation = 100.0f;
public static double Alpha
{
get { return alpha; }
set { alpha = Math.Min(Math.Max(value, 0.0), 1.0); }
}
public static double Interpolate(double previous, double current)
{
return current * alpha + previous * (1.0 - alpha);
}
public static float Interpolate(float previous, float current)
{
return current * (float)alpha + previous * (1.0f - (float)alpha);
}
public static Vector2 Interpolate(Vector2 previous, Vector2 current)
{
return new Vector2(
Interpolate(previous.X, current.X),
Interpolate(previous.Y, current.Y));
}
}
}