56 lines
2 KiB
C#
56 lines
2 KiB
C#
// Decompiled with JetBrains decompiler
|
|
// Type: Terraria.DataStructures.Point16
|
|
// Assembly: Terraria, Version=1.4.0.5, Culture=neutral, PublicKeyToken=null
|
|
// MVID: 67F9E73E-0A81-4937-A22C-5515CD405A83
|
|
// Assembly location: C:\Users\mikeyisbaeyt\Downloads\depotdownloader-2.4.5\depots\105601\6707058\Terraria.exe
|
|
|
|
using Microsoft.Xna.Framework;
|
|
|
|
namespace Terraria.DataStructures
|
|
{
|
|
public struct Point16
|
|
{
|
|
public readonly short X;
|
|
public readonly short Y;
|
|
public static Point16 Zero = new Point16(0, 0);
|
|
public static Point16 NegativeOne = new Point16(-1, -1);
|
|
|
|
public Point16(Point point)
|
|
{
|
|
this.X = (short) point.X;
|
|
this.Y = (short) point.Y;
|
|
}
|
|
|
|
public Point16(int X, int Y)
|
|
{
|
|
this.X = (short) X;
|
|
this.Y = (short) Y;
|
|
}
|
|
|
|
public Point16(short X, short Y)
|
|
{
|
|
this.X = X;
|
|
this.Y = Y;
|
|
}
|
|
|
|
public static Point16 Max(int firstX, int firstY, int secondX, int secondY) => new Point16(firstX > secondX ? firstX : secondX, firstY > secondY ? firstY : secondY);
|
|
|
|
public Point16 Max(int compareX, int compareY) => new Point16((int) this.X > compareX ? (int) this.X : compareX, (int) this.Y > compareY ? (int) this.Y : compareY);
|
|
|
|
public Point16 Max(Point16 compareTo) => new Point16((int) this.X > (int) compareTo.X ? this.X : compareTo.X, (int) this.Y > (int) compareTo.Y ? this.Y : compareTo.Y);
|
|
|
|
public static bool operator ==(Point16 first, Point16 second) => (int) first.X == (int) second.X && (int) first.Y == (int) second.Y;
|
|
|
|
public static bool operator !=(Point16 first, Point16 second) => (int) first.X != (int) second.X || (int) first.Y != (int) second.Y;
|
|
|
|
public override bool Equals(object obj)
|
|
{
|
|
Point16 point16 = (Point16) obj;
|
|
return (int) this.X == (int) point16.X && (int) this.Y == (int) point16.Y;
|
|
}
|
|
|
|
public override int GetHashCode() => (int) this.X << 16 | (int) (ushort) this.Y;
|
|
|
|
public override string ToString() => string.Format("{{{0}, {1}}}", (object) this.X, (object) this.Y);
|
|
}
|
|
}
|