int FindNeighbor(NativeArray <int3> cells, int count, int a, int b, int c) { int x = a, y = b, z = c; if (b < c) { if (b < a) { x = b; y = c; z = a; } } else if (c < a) { x = c; y = a; z = b; } if (x < 0) { return(-1); } int3 key; key.x = x; key.y = y; key.z = z; return(ModuleHandle.GetEqual(cells, count, key, new TestCellE())); }
bool MergeHulls(NativeArray <UHull> hulls, ref int hullCount, NativeArray <float2> points, UEvent evt) { float2 temp = evt.a; evt.a = evt.b; evt.b = temp; int index = ModuleHandle.GetEqual(hulls, hullCount, evt, new TestHullEventE()); if (index < 0) { return(false); } UHull upper = hulls[index]; UHull lower = hulls[index - 1]; lower.iucount = upper.iucount; for (int i = 0; i < lower.iucount; ++i) { lower.iuarray[i] = upper.iuarray[i]; } hulls[index - 1] = lower; EraseHull(hulls, index, ref hullCount); return(true); }
int FindConstraint(int a, int b) { int2 e; e.x = a < b ? a : b; e.y = a > b ? a : b; return(ModuleHandle.GetEqual(m_Edges, m_Edges.Length, e, new TestEdgePointE())); }