void PrefabStageOpened(PrefabStage stage)
 {
     if (m_PreviewObject != null)
     {
         EditorUtility.MoveToActiveScene(m_PreviewObject);
     }
 }
Ejemplo n.º 2
0
        void SetPreviewMesh(ProBuilderMesh mesh)
        {
            ApplyPreviewTransform(mesh);
            Mesh umesh = mesh.mesh;

            umesh.hideFlags = HideFlags.DontSave;

            if (m_PreviewObject)
            {
                var mf = m_PreviewObject.GetComponent <MeshFilter>();
                if (mf.sharedMesh != null)
                {
                    DestroyImmediate(mf.sharedMesh);
                }
                m_PreviewObject.GetComponent <MeshFilter>().sharedMesh = umesh;
                mesh.preserveMeshAssetOnDestroy = true;
                m_PreviewObject.name            = mesh.gameObject.name;
                DestroyImmediate(mesh.gameObject);
            }
            else
            {
                m_PreviewObject = mesh.gameObject;
                mesh.preserveMeshAssetOnDestroy = true;
                DestroyImmediate(mesh);
                Selection.activeTransform = m_PreviewObject.transform;
            }

            m_PreviewObject.GetComponent <MeshRenderer>().sharedMaterial = BuiltinMaterials.ShapePreviewMaterial;
            EditorUtility.MoveToActiveScene(m_PreviewObject.gameObject);
        }
Ejemplo n.º 3
0
        void SetPreviewMesh(ProBuilderMesh mesh)
        {
            ApplyPreviewTransform(mesh);
            Mesh umesh = mesh.mesh;

            if (umesh != null)
            {
                umesh.hideFlags = HideFlags.DontSave;
            }

            if (m_PreviewObject)
            {
                if (!m_PreviewObject.TryGetComponent(out MeshFilter mf))
                {
                    mf = m_PreviewObject.AddComponent <MeshFilter>();
                }
                if (mf.sharedMesh != null)
                {
                    DestroyImmediate(mf.sharedMesh);
                }
                m_PreviewObject.GetComponent <MeshFilter>().sharedMesh = umesh;
                mesh.preserveMeshAssetOnDestroy = true;
                m_PreviewObject.name            = mesh.gameObject.name;
                if (!m_PreviewObject.name.EndsWith("-preview"))
                {
                    m_PreviewObject.name += "-preview";
                }
                DestroyImmediate(mesh.gameObject);
            }
            else
            {
                m_PreviewObject                 = mesh.gameObject;
                m_PreviewObject.hideFlags       = HideFlags.DontSave;
                mesh.preserveMeshAssetOnDestroy = true;
                DestroyImmediate(mesh);
                Selection.activeTransform = m_PreviewObject.transform;
                m_PreviewObject.name     += "-preview";
            }

            m_PreviewObject.GetComponent <MeshRenderer>().sharedMaterial = EditorMaterialUtility.GetShapePreviewMaterial();
            EditorUtility.MoveToActiveScene(m_PreviewObject.gameObject);
        }
Ejemplo n.º 4
0
        void SetPreviewMesh(ProBuilderMesh mesh)
        {
            EditorUtility.MoveToActiveScene(mesh.gameObject);
            ApplyPreviewTransform(mesh);

            DestroyPreviewObject();

            mesh.selectable = false;
            m_PreviewObject = mesh.gameObject;

            mesh.preserveMeshAssetOnDestroy = true;
            var umesh = mesh.mesh;

            DestroyImmediate(mesh);

            umesh.hideFlags           = HideFlags.DontSave;
            m_PreviewObject.hideFlags = HideFlags.DontSave;
            m_PreviewObject.GetComponent <MeshRenderer>().sharedMaterial = BuiltinMaterials.ShapePreviewMaterial;

            Selection.activeTransform = m_PreviewObject.transform;
        }