Server job assigning logic, submarine movement syncing, submarine collision improvements, spawnpoints in levels
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
namespace FarseerPhysics.Common.Decomposition.Seidel
|
||||
{
|
||||
internal class Point
|
||||
{
|
||||
// Pointers to next and previous points in Monontone Mountain
|
||||
public Point Next, Prev;
|
||||
public float X, Y;
|
||||
|
||||
public Point(float x, float y)
|
||||
{
|
||||
X = x;
|
||||
Y = y;
|
||||
Next = null;
|
||||
Prev = null;
|
||||
}
|
||||
|
||||
public static Point operator -(Point p1, Point p2)
|
||||
{
|
||||
return new Point(p1.X - p2.X, p1.Y - p2.Y);
|
||||
}
|
||||
|
||||
public static Point operator +(Point p1, Point p2)
|
||||
{
|
||||
return new Point(p1.X + p2.X, p1.Y + p2.Y);
|
||||
}
|
||||
|
||||
public static Point operator -(Point p1, float f)
|
||||
{
|
||||
return new Point(p1.X - f, p1.Y - f);
|
||||
}
|
||||
|
||||
public static Point operator +(Point p1, float f)
|
||||
{
|
||||
return new Point(p1.X + f, p1.Y + f);
|
||||
}
|
||||
|
||||
public float Cross(Point p)
|
||||
{
|
||||
return X * p.Y - Y * p.X;
|
||||
}
|
||||
|
||||
public float Dot(Point p)
|
||||
{
|
||||
return X * p.X + Y * p.Y;
|
||||
}
|
||||
|
||||
public bool Neq(Point p)
|
||||
{
|
||||
return p.X != X || p.Y != Y;
|
||||
}
|
||||
|
||||
public float Orient2D(Point pb, Point pc)
|
||||
{
|
||||
float acx = X - pc.X;
|
||||
float bcx = pb.X - pc.X;
|
||||
float acy = Y - pc.Y;
|
||||
float bcy = pb.Y - pc.Y;
|
||||
return acx * bcy - acy * bcx;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user