private void ModifyMesh(Vector3 displacement, Vector3 center) { using (List <MeshFilter> .Enumerator enumerator = this.m_Filters.GetEnumerator()) { while (enumerator.MoveNext()) { MeshFilter current = enumerator.Current; Mesh mesh1 = current.get_mesh(); Vector3[] vertices = mesh1.get_vertices(); for (int index = 0; index < vertices.Length; ++index) { Vector3 pos = ((Component)current).get_transform().TransformPoint(vertices[index]); vertices[index] = Vector3.op_Addition(vertices[index], Vector3.op_Multiply(displacement, MeshTool.Gaussian(pos, center, this.m_Radius))); } mesh1.set_vertices(vertices); mesh1.RecalculateBounds(); MeshCollider component = (MeshCollider)((Component)current).GetComponent <MeshCollider>(); if (Object.op_Inequality((Object)component, (Object)null)) { Mesh mesh2 = new Mesh(); mesh2.set_vertices(mesh1.get_vertices()); mesh2.set_triangles(mesh1.get_triangles()); component.set_sharedMesh(mesh2); } } } }