void CreateNewSession() { if (AssetDatabase.Contains(m_Settings)) { m_Settings = CreateInstance <SdfBakerSettings>(); m_Settings.name = "None"; } else { m_Settings.ResetToDefault(); } m_BakedSDF = null; if (m_MeshPreview != null) { m_MeshPreview.Dispose(); m_MeshPreview = null; } if (m_TexturePreview != null) { m_TexturePreview.OnDisable(); m_TexturePreview = null; } m_RefreshMeshPreview = false; if (m_Baker != null) { m_Baker.Dispose(); m_Baker = null; } }
private void OnEnable() { titleContent = Contents.title; minSize = new Vector2(300.0f, 400.0f); if (m_Settings == null) { m_Settings = CreateInstance <SdfBakerSettings>(); m_Settings.name = "None"; } if (m_TexturePreview == null) { m_TexturePreview = CreateInstance <Texture3DPreview>(); } m_TexturePreview.OnEnable(); if (m_BakedSDF != null) { m_TexturePreview.Texture = m_BakedSDF; } if (m_MeshPreview == null) { m_MeshPreview = new SdfBakerPreview(mesh); // Not sure if necessary } Undo.undoRedoPerformed += OnUndoRedoPerformed; PrefabUtility.prefabInstanceUpdated += OnPrefabInstanceUpdated; Selection.selectionChanged += OnSelectionChanged; }
internal void LoadSettings(SdfBakerSettings newSettings) { m_Settings = newSettings; m_ActualBoxSize = SnapBoxToVoxels(); if (m_TexturePreview != null) { m_TexturePreview.OnDisable(); } m_TexturePreview = CreateInstance <Texture3DPreview>(); if (m_MeshPreview != null) { m_MeshPreview.Dispose(); } m_MeshPreview = new SdfBakerPreview(selectedMesh); m_BakedSDF = null; }
private void UpdateTexture3dPreview() { if (m_BakedSDF) { if (m_TexturePreview == null) { m_TexturePreview = CreateInstance <Texture3DPreview>(); } m_TexturePreview.Texture = m_BakedSDF; GUILayout.BeginHorizontal(); m_TexturePreview.OnPreviewSettings(new Object[] { m_BakedSDF }); GUILayout.EndHorizontal(); Rect rect = GUILayoutUtility.GetRect(100, 2000, 100, 2000, GUIStyle.none); m_TexturePreview.OnPreviewGUI(rect, GUIStyle.none); EditorGUI.DropShadowLabel(rect, m_TexturePreview.GetInfoString()); } }
public void OnDisable() { m_MeshPreview?.Dispose(); m_Baker?.Dispose(); if (m_BakedSDF) { m_BakedSDF.Release(); } if (m_TexturePreview) { m_TexturePreview.OnDisable(); m_TexturePreview = null; } Undo.undoRedoPerformed -= OnUndoRedoPerformed; PrefabUtility.prefabInstanceUpdated -= OnPrefabInstanceUpdated; Selection.selectionChanged -= OnSelectionChanged; }