bool FSpriteSelectedShape::Equals(const FSelectedItem& OtherItem) const
{
	if (OtherItem.IsA(FSelectionTypes::Vertex))
	{
		const FSpriteSelectedShape& V1 = *this;
		const FSpriteSelectedShape& V2 = *(FSpriteSelectedShape*)(&OtherItem);

		return (V1.ShapeIndex == V2.ShapeIndex) && (&(V1.Geometry) == &(V2.Geometry));
	}
	else
	{
		return false;
	}
}
bool FSpriteSelectedSocket::Equals(const FSelectedItem& OtherItem) const
{
	if (OtherItem.IsA(FSpriteSelectedSocket::SocketTypeID))
	{
		const FSpriteSelectedSocket& S1 = *this;
		const FSpriteSelectedSocket& S2 = *(FSpriteSelectedSocket*)(&OtherItem);

		return (S1.SocketName == S2.SocketName) && (S1.PreviewComponentPtr == S2.PreviewComponentPtr);
	}
	else
	{
		return false;
	}
}