private PackerWindow.Edge[] FindUniqueEdges(ushort[] indices) { PackerWindow.Edge[] edgeArray = new PackerWindow.Edge[indices.Length]; int num = indices.Length / 3; for (int index = 0; index < num; ++index) { edgeArray[index * 3] = new PackerWindow.Edge(indices[index * 3], indices[index * 3 + 1]); edgeArray[index * 3 + 1] = new PackerWindow.Edge(indices[index * 3 + 1], indices[index * 3 + 2]); edgeArray[index * 3 + 2] = new PackerWindow.Edge(indices[index * 3 + 2], indices[index * 3]); } return(((IEnumerable <PackerWindow.Edge>)edgeArray).GroupBy <PackerWindow.Edge, PackerWindow.Edge>((Func <PackerWindow.Edge, PackerWindow.Edge>)(x => x)).Where <IGrouping <PackerWindow.Edge, PackerWindow.Edge> >((Func <IGrouping <PackerWindow.Edge, PackerWindow.Edge>, bool>)(x => x.Count <PackerWindow.Edge>() == 1)).Select <IGrouping <PackerWindow.Edge, PackerWindow.Edge>, PackerWindow.Edge>((Func <IGrouping <PackerWindow.Edge, PackerWindow.Edge>, PackerWindow.Edge>)(x => x.First <PackerWindow.Edge>())).ToArray <PackerWindow.Edge>()); }
public override bool Equals(object obj) { PackerWindow.Edge edge = (PackerWindow.Edge)obj; if ((int)this.v0 == (int)edge.v0 && (int)this.v1 == (int)edge.v1) { return(true); } if ((int)this.v0 == (int)edge.v1) { return((int)this.v1 == (int)edge.v0); } return(false); }
private PackerWindow.Edge[] FindUniqueEdges(ushort[] indices) { PackerWindow.Edge[] array = new PackerWindow.Edge[indices.Length]; int num = indices.Length / 3; for (int i = 0; i < num; i++) { array[i * 3] = new PackerWindow.Edge(indices[i * 3], indices[i * 3 + 1]); array[i * 3 + 1] = new PackerWindow.Edge(indices[i * 3 + 1], indices[i * 3 + 2]); array[i * 3 + 2] = new PackerWindow.Edge(indices[i * 3 + 2], indices[i * 3]); } return((from x in array group x by x into x where x.Count <PackerWindow.Edge>() == 1 select x.First <PackerWindow.Edge>()).ToArray <PackerWindow.Edge>()); }
protected override void DrawGizmos() { if (this.m_SelectedSprite != null && this.m_Texture != null) { Vector2[] spriteUVs = SpriteUtility.GetSpriteUVs(this.m_SelectedSprite, true); ushort[] triangles = this.m_SelectedSprite.triangles; PackerWindow.Edge[] array = this.FindUniqueEdges(triangles); SpriteEditorUtility.BeginLines(new Color(0.3921f, 0.5843f, 0.9294f, 0.75f)); PackerWindow.Edge[] array2 = array; for (int i = 0; i < array2.Length; i++) { PackerWindow.Edge edge = array2[i]; this.DrawLineUtility(spriteUVs[(int)edge.v0], spriteUVs[(int)edge.v1]); } SpriteEditorUtility.EndLines(); } }
public override bool Equals(object obj) { PackerWindow.Edge edge = (PackerWindow.Edge)obj; return((this.v0 == edge.v0 && this.v1 == edge.v1) || (this.v0 == edge.v1 && this.v1 == edge.v0)); }
private PackerWindow.Edge[] FindUniqueEdges(ushort[] indices) { PackerWindow.Edge[] array = new PackerWindow.Edge[indices.Length]; int num = indices.Length / 3; for (int i = 0; i < num; i++) { array[i * 3] = new PackerWindow.Edge(indices[i * 3], indices[i * 3 + 1]); array[i * 3 + 1] = new PackerWindow.Edge(indices[i * 3 + 1], indices[i * 3 + 2]); array[i * 3 + 2] = new PackerWindow.Edge(indices[i * 3 + 2], indices[i * 3]); } return ( from x in array group x by x into x where x.Count<PackerWindow.Edge>() == 1 select x.First<PackerWindow.Edge>()).ToArray<PackerWindow.Edge>(); }
private PackerWindow.Edge[] FindUniqueEdges(ushort[] indices) { PackerWindow.Edge[] edgeArray = new PackerWindow.Edge[indices.Length]; int num = indices.Length / 3; for (int index = 0; index < num; ++index) { edgeArray[index * 3] = new PackerWindow.Edge(indices[index * 3], indices[index * 3 + 1]); edgeArray[index * 3 + 1] = new PackerWindow.Edge(indices[index * 3 + 1], indices[index * 3 + 2]); edgeArray[index * 3 + 2] = new PackerWindow.Edge(indices[index * 3 + 2], indices[index * 3]); } return ((IEnumerable<PackerWindow.Edge>) edgeArray).GroupBy<PackerWindow.Edge, PackerWindow.Edge>((Func<PackerWindow.Edge, PackerWindow.Edge>) (x => x)).Where<IGrouping<PackerWindow.Edge, PackerWindow.Edge>>((Func<IGrouping<PackerWindow.Edge, PackerWindow.Edge>, bool>) (x => x.Count<PackerWindow.Edge>() == 1)).Select<IGrouping<PackerWindow.Edge, PackerWindow.Edge>, PackerWindow.Edge>((Func<IGrouping<PackerWindow.Edge, PackerWindow.Edge>, PackerWindow.Edge>) (x => x.First<PackerWindow.Edge>())).ToArray<PackerWindow.Edge>(); }