using System; using System.Collections.Generic; using System.Linq; namespace ProBuilder2.Common { // Token: 0x0200000F RID: 15 public static class EdgeExtensions { // Token: 0x06000079 RID: 121 RVA: 0x0000E57C File Offset: 0x0000C97C public static bool ContainsDuplicate(this List edges, pb_Edge edge, Dictionary lookup) { int num = 0; for (int i = 0; i < edges.Count; i++) { if (edges[i].Equals(edge, lookup) && ++num > 1) { return true; } } return false; } // Token: 0x0600007A RID: 122 RVA: 0x0000E5C4 File Offset: 0x0000C9C4 public static bool Contains(this pb_Edge[] edges, pb_Edge edge) { for (int i = 0; i < edges.Length; i++) { if (edges[i].Equals(edge)) { return true; } } return false; } // Token: 0x0600007B RID: 123 RVA: 0x0000E5F8 File Offset: 0x0000C9F8 public static bool Contains(this pb_Edge[] edges, int x, int y) { for (int i = 0; i < edges.Length; i++) { if ((x == edges[i].x && y == edges[i].y) || (x == edges[i].y && y == edges[i].x)) { return true; } } return false; } // Token: 0x0600007C RID: 124 RVA: 0x0000E654 File Offset: 0x0000CA54 public static IEnumerable DistinctCommon(this IEnumerable edges, Dictionary lookup) { IEnumerable enumerable = edges.Select((pb_Edge x) => new pb_EdgeLookup(new pb_Edge(lookup[x.x], lookup[x.y]), x)); enumerable = enumerable.Distinct(); return enumerable.Select((pb_EdgeLookup x) => x.local); } // Token: 0x0600007D RID: 125 RVA: 0x0000E6AC File Offset: 0x0000CAAC public static int IndexOf(this IList edges, pb_Edge edge, Dictionary lookup) { for (int i = 0; i < edges.Count; i++) { if (edges[i].Equals(edge, lookup)) { return i; } } return -1; } // Token: 0x0600007E RID: 126 RVA: 0x0000E6E8 File Offset: 0x0000CAE8 public static List ToIntList(this List edges) { List list = new List(); foreach (pb_Edge pb_Edge in edges) { list.Add(pb_Edge.x); list.Add(pb_Edge.y); } return list; } // Token: 0x0600007F RID: 127 RVA: 0x0000E758 File Offset: 0x0000CB58 public static int[] AllTriangles(this pb_Edge[] edges) { int[] array = new int[edges.Length * 2]; int num = 0; for (int i = 0; i < edges.Length; i++) { array[num++] = edges[i].x; array[num++] = edges[i].y; } return array; } // Token: 0x06000080 RID: 128 RVA: 0x0000E7A8 File Offset: 0x0000CBA8 public static List AllTriangles(this List edges) { List list = new List(); for (int i = 0; i < edges.Count; i++) { list.Add(edges[i].x); list.Add(edges[i].y); } return list; } } }