void OnEnable() { triangleHandle = new List <GameObject>(); if (rigidBody == null) { rigidBody = GetComponent <Rigidbody>(); } if (editMesh == null) { editMesh = GetComponent <EditMesh>(); } if (!editMesh.enabled) { editMesh.enabled = true; } int triangle_count = editMesh.triangleCount; for (int i = 0; i < triangle_count; i++) { GameObject triangle = new GameObject("triangle_handle"); GameObject[] vertices = editMesh.GetTriangleVertices(i); triangle.transform.parent = this.transform; FaceGizmos faceGizmos = triangle.AddComponent <FaceGizmos>(); faceGizmos.OnHitSomething += new HitEventHandler(DetectFaceNormal); faceGizmos.Initialize(vertices, rayLength); triangleHandle.Add(triangle); } //assign init value _oldRayLength = rayLength; }
public override void OnInspectorGUI() { DrawDefaultInspector(); editMesh = target as EditMesh; if (GUILayout.Button("Reset")) { editMesh.Reset(); } if (editMesh.isCloned) { if (GUILayout.Button("Subdivide")) { editMesh.clonedMesh.Subdivide(); } } }
void OnSceneGUI() { editMesh = target as EditMesh; EditMesh(); }