Exemple #1
0
    static void AddComponent()
    {
        for (int i = 0; i < Selection.gameObjects.Length; ++i)
        {
            GameObject go  = Selection.gameObjects[i];
            CSGObject  obj = go.GetComponent <CSGObject>();

            Mesh mesh = go.GetComponent <MeshFilter>() != null?go.GetComponent <MeshFilter>().sharedMesh : null;

            if (!obj && mesh)
            {
                // TODO: add bsp tree generation on add...
                CSGObject  csg    = go.AddComponent <CSGObject>();
                MeshFilter filter = go.GetComponent <MeshFilter>();

                // clone mesh as every csg object needs his own mesh
                filter.sharedMesh = ObjectCloner.CloneMesh(filter.sharedMesh);
                //
                csg.CreateFromMesh();
            }
            else
            {
                Debug.Log("No Mesh or already an CSG Object");
            }
        }
    }