createFragmentMaterial() private static method

private static createFragmentMaterial ( GameObject source ) : Material
source GameObject
return Material
    /// <summary>
    /// Turns Gameobject into multiple fragments
    /// </summary>
    private void generateFragments(bool meshSaved = false)
    {
        fragments = new List <GameObject>();

        Material mat = null;

        if (meshSaved)
        {
            mat = SpriteExploder.createFragmentMaterial(gameObject);
            Directory.CreateDirectory("Assets/FragmentMaterials");
            AssetDatabase.CreateAsset(mat, "Assets/FragmentMaterials/" + transform.name + "_fragments" + ".mat");
        }

        switch (shatterType)
        {
        case ShatterType.Triangle:
            fragments = SpriteExploder.GenerateTriangularPieces(gameObject, extraPoints, subshatterSteps, mat, meshSaved);
            break;

        case ShatterType.Voronoi:
            fragments = SpriteExploder.GenerateVoronoiPieces(gameObject, extraPoints, subshatterSteps, mat, meshSaved);
            break;

        default:
            Debug.Log("invalid choice");
            break;
        }


        for (int i = 0; i < fragments.Count; i++)
        {
            if (fragments[i] != null)
            {
                fragments[i].layer = LayerMask.NameToLayer(fragmentLayer);
                fragments[i].GetComponent <Renderer>().sortingLayerName = sortingLayerName;
                fragments[i].GetComponent <Renderer>().sortingOrder     = orderInLayer;

                /// prefab mesh save
                if (meshSaved)
                {
                    if (!string.IsNullOrEmpty("Assets/FragmentMesh"))
                    {
                        Directory.CreateDirectory("Assets/FragmentMesh");
                    }

                    var mesh = fragments[i].GetComponent <MeshFilter>().sharedMesh;
                    AssetDatabase.CreateAsset(mesh, "Assets/FragmentMesh/" + transform.name + "_" + i + ".asset");
                }
            }
        }

        AssetDatabase.SaveAssets();

        foreach (ExplodableAddon addon in GetComponents <ExplodableAddon>())
        {
            if (addon.enabled)
            {
                addon.OnFragmentsGenerated(fragments);
            }
        }
    }