private static unsafe void GetCornerPositions(Vector3 *positions) { Corner *corners = stackalloc Corner[pathLength]; GetCornerOrder(corners); for (Int32 i = 0; i < pathLength; ++i) { positions[i] = corners[i].ToPosition(); } }
private static unsafe void GetCornerOrder(Corner *corners) { corners[0] = Corner.A; corners[1] = Corner.B; corners[2] = Corner.D; corners[3] = Corner.C; corners[4] = Corner.A; corners[5] = Corner.D; corners[6] = Corner.H; corners[7] = Corner.B; corners[8] = Corner.F; corners[9] = Corner.H; corners[10] = Corner.G; corners[11] = Corner.E; corners[12] = Corner.F; corners[13] = Corner.A; corners[14] = Corner.E; corners[15] = Corner.H; corners[16] = Corner.C; corners[17] = Corner.G; }