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); } } } }
private void Start() { MeshCollider component = (MeshCollider)((Component)this.metaball).GetComponent <MeshCollider>(); if (!Object.op_Inequality((Object)component, (Object)null)) { return; } component.set_sharedMesh(this.metaball.Mesh); }
public void Attack(IMBrush brush) { this.audioSource.Play(); brush.Draw(); MeshCollider component = (MeshCollider)((Component)this.metaball).GetComponent <MeshCollider>(); if (!Object.op_Inequality((Object)component, (Object)null)) { return; } component.set_sharedMesh(this.metaball.Mesh); }
public void SwitchCollider(int index) { if (this.ColliderMeshes.Length == 0) { return; } MeshCollider component = (MeshCollider)((Component)this).GetComponent <MeshCollider>(); if (!Object.op_Implicit((Object)component)) { return; } component.set_sharedMesh(this.ColliderMeshes[Mathf.Clamp(index, 0, this.ColliderMeshes.Length - 1)]); }
private static int set_sharedMesh(IntPtr L) { object obj = null; int result; try { obj = ToLua.ToObject(L, 1); MeshCollider meshCollider = (MeshCollider)obj; Mesh sharedMesh = (Mesh)ToLua.CheckUnityObject(L, 2, typeof(Mesh)); meshCollider.set_sharedMesh(sharedMesh); result = 0; } catch (Exception ex) { result = LuaDLL.toluaL_exception(L, ex, (obj != null) ? ex.get_Message() : "attempt to index sharedMesh on a nil value"); } return(result); }
public void AddCell(Vector3 position, float size) { this.audioSource.Play(); GameObject gameObject = new GameObject("MetaballNode"); gameObject.get_transform().set_parent(((Component)this.metaball.sourceRoot).get_transform()); gameObject.get_transform().set_position(position); gameObject.get_transform().set_localScale(Vector3.get_one()); gameObject.get_transform().set_localRotation(Quaternion.get_identity()); ((MetaballNode)gameObject.AddComponent <MetaballNode>()).baseRadius = size; this.metaball.CreateMesh(); MeshCollider component = (MeshCollider)((Component)this.metaball).GetComponent <MeshCollider>(); if (Object.op_Inequality((Object)component, (Object)null)) { component.set_sharedMesh(this.metaball.Mesh); } Object.Instantiate <GameObject>((M0)((Component)this.hitPS).get_gameObject(), position, Quaternion.get_identity()); }
private void Update() { VolumetricLightBeam component = (VolumetricLightBeam)((Component)this).GetComponent <VolumetricLightBeam>(); if (!Object.op_Implicit((Object)component)) { return; } MeshCollider orAddComponent = ((Component)this).get_gameObject().GetOrAddComponent <MeshCollider>(); Debug.Assert(Object.op_Implicit((Object)orAddComponent)); float lengthZ = component.fadeEnd * this.rangeMultiplier; float radiusEnd = Mathf.LerpUnclamped(component.coneRadiusStart, component.coneRadiusEnd, this.rangeMultiplier); this.m_Mesh = MeshGenerator.GenerateConeZ_Radius(lengthZ, component.coneRadiusStart, radiusEnd, 8, 0, false); ((Object)this.m_Mesh).set_hideFlags(Consts.ProceduralObjectsHideFlags); orAddComponent.set_sharedMesh(this.m_Mesh); if (this.setIsTrigger) { orAddComponent.set_convex(true); ((Collider)orAddComponent).set_isTrigger(true); } Object.Destroy((Object)this); }