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);
    }
Exemple #3
0
    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);
    }
Exemple #4
0
    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)]);
    }
Exemple #5
0
    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());
    }
Exemple #7
0
        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);
        }