Roblox-File-Format/DataTypes/Rect.cs

48 lines
1.1 KiB
C#
Raw Normal View History

namespace RobloxFiles.DataTypes
{
public class Rect
{
public readonly Vector2 Min;
public readonly Vector2 Max;
public float Width => (Max - Min).X;
public float Height => (Max - Min).Y;
public override string ToString() => $"{Min}, {Max}";
public Rect(Vector2 min = null, Vector2 max = null)
{
Min = min ?? Vector2.zero;
Max = max ?? Vector2.zero;
}
public Rect(float minX, float minY, float maxX, float maxY)
{
Min = new Vector2(minX, minY);
Max = new Vector2(maxX, maxY);
}
2020-09-13 01:16:19 +00:00
public override int GetHashCode()
{
int hash = Min.GetHashCode()
^ Max.GetHashCode();
return hash;
}
public override bool Equals(object obj)
{
2021-02-18 19:15:08 +00:00
if (!(obj is Rect other))
2020-09-13 01:16:19 +00:00
return false;
if (!Min.Equals(other.Min))
return false;
if (!Max.Equals(other.Max))
return false;
return true;
}
}
}