PO/Library/PackageCache/com.unity.2d.animation@5.0.7/Editor/SkinningModule/SpriteMeshData/Edge.cs

63 lines
1.4 KiB
C#

using UnityEngine;
using System;
namespace UnityEditor.U2D.Animation
{
[Serializable]
internal struct Edge
{
[SerializeField]
int m_Index1;
[SerializeField]
int m_Index2;
public int index1
{
get { return m_Index1; }
set { m_Index1 = value; }
}
public int index2
{
get { return m_Index2; }
set { m_Index2 = value; }
}
public Edge(int inIndex1, int inIndex2)
{
m_Index1 = inIndex1;
m_Index2 = inIndex2;
}
public bool Contains(int index)
{
return index1 == index || index2 == index;
}
public static bool operator==(Edge lhs, Edge rhs)
{
return lhs.Equals(rhs);
}
public static bool operator!=(Edge lhs, Edge rhs)
{
return !lhs.Equals(rhs);
}
public override bool Equals(System.Object obj)
{
if (obj == null || GetType() != obj.GetType())
return false;
Edge p = (Edge)obj;
return (index1 == p.index1) && (index2 == p.index2) || (index1 == p.index2) && (index2 == p.index1);
}
public override int GetHashCode()
{
return index1.GetHashCode() ^ index2.GetHashCode();
}
}
}