public void DrawVertices(Vector3[,,] vertexMatrix, bool drawOnPlay = false) { //do not draw vertices when playing, this is a performance hog if (Application.isPlaying && !drawOnPlay) { return; } Gizmos.color = vertexColor; for (int i = 0; i <= vertexMatrix.GetUpperBound(0); i++) { for (int j = 0; j <= vertexMatrix.GetUpperBound(1); j++) { for (int k = 0; k <= vertexMatrix.GetUpperBound(2); k++) { DrawSphere(vertexMatrix[i, j, k]); } } } }
public override Vector3 ReadVertexMatrix(int x, int y, int z, Vector3[,,] vertexMatrix, bool warning = false) { if (Mathf.Abs(x) > vertexMatrix.GetUpperBound(0) / 2 || Mathf.Abs(y) > vertexMatrix.GetUpperBound(1) / 2 || Mathf.Abs(z) > vertexMatrix.GetUpperBound(2) / 2) { if (warning) { Debug.LogWarning("coordinates too large for this matrix, will default to " + Vector3.zero); } return(vertexMatrix[(vertexMatrix.GetUpperBound(0) / 2), (vertexMatrix.GetUpperBound(1) / 2), (vertexMatrix.GetUpperBound(2) / 2)]); } return(vertexMatrix[(vertexMatrix.GetUpperBound(0) / 2) + x, (vertexMatrix.GetUpperBound(1) / 2) + y, (vertexMatrix.GetUpperBound(2) / 2) + z]); }