using System.Drawing; using System.Text.Json.Serialization; namespace File_Folder_Helper.Models.Face; [method: JsonConstructor] public class FacePoint(int index, int x, int y) { public int Index { get; } = index; public int X { get; } = x; public int Y { get; } = y; private readonly Point _Point = new(x, y); public override bool Equals(object? obj) => obj is FacePoint point && Equals(point); #pragma warning disable IDE0070 public override int GetHashCode() #pragma warning restore IDE0070 { int hashCode = 1861411795; hashCode = (hashCode * -1521134295) + _Point.GetHashCode(); hashCode = (hashCode * -1521134295) + Index.GetHashCode(); return hashCode; } public bool Equals(FacePoint? facePoint) { return facePoint is not null && X == facePoint.X && Y == facePoint.Y && Index == facePoint.Index; } public static bool operator ==(FacePoint point1, FacePoint point2) => point1.Equals(point2); public static bool operator !=(FacePoint point1, FacePoint point2) => !(point1 == point2); }