From 9217dee8c2e9affb831abed65249b5a59204f4ae Mon Sep 17 00:00:00 2001 From: BlackMATov Date: Mon, 29 Oct 2018 23:06:51 +0700 Subject: [PATCH] Fix preview shutdown warning --- .gitignore | 1 + .../FTEditor/Editors/SwfClipAssetPreview.cs | 11 +++++--- .../Editor/FTEditor/Editors/SwfClipEditor.cs | 27 +++++++++++++------ 3 files changed, 28 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index ac4150d..9bd7280 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ obj/* Temp/* Library/* +.vs/* FTSources/.vs/* FTSources/FTEditor/obj/* FTSources/FTRuntime/obj/* diff --git a/Assets/FlashTools/Scripts/Editor/FTEditor/Editors/SwfClipAssetPreview.cs b/Assets/FlashTools/Scripts/Editor/FTEditor/Editors/SwfClipAssetPreview.cs index 8483de6..ca8b121 100644 --- a/Assets/FlashTools/Scripts/Editor/FTEditor/Editors/SwfClipAssetPreview.cs +++ b/Assets/FlashTools/Scripts/Editor/FTEditor/Editors/SwfClipAssetPreview.cs @@ -8,9 +8,9 @@ using FTRuntime; namespace FTEditor.Editors { [CustomPreview(typeof(SwfClipAsset))] class SwfClipAssetPreview : ObjectPreview { - int _sequence = 0; - static MaterialPropertyBlock _matPropBlock = null; - static PreviewRenderUtility _previewUtils = null; + int _sequence = 0; + MaterialPropertyBlock _matPropBlock = null; + PreviewRenderUtility _previewUtils = null; Sprite targetSprite { get { @@ -142,6 +142,11 @@ namespace FTEditor.Editors { : 0; } + public void Shutdown() { + _matPropBlock.Clear(); + _previewUtils.Cleanup(); + } + // --------------------------------------------------------------------- // // Messages diff --git a/Assets/FlashTools/Scripts/Editor/FTEditor/Editors/SwfClipEditor.cs b/Assets/FlashTools/Scripts/Editor/FTEditor/Editors/SwfClipEditor.cs index 166f691..4f5c3d1 100644 --- a/Assets/FlashTools/Scripts/Editor/FTEditor/Editors/SwfClipEditor.cs +++ b/Assets/FlashTools/Scripts/Editor/FTEditor/Editors/SwfClipEditor.cs @@ -131,7 +131,7 @@ namespace FTEditor.Editors { } void SetupPreviews() { - _previews.Clear(); + ShutdownPreviews(); foreach ( var clip in _clips.Where(p => !!p.clip) ) { var preview = new SwfClipAssetPreview(); preview.Initialize(new Object[]{clip.clip}); @@ -139,18 +139,29 @@ namespace FTEditor.Editors { } } - // --------------------------------------------------------------------- - // - // Messages - // - // --------------------------------------------------------------------- + void ShutdownPreviews() { + foreach ( var p in _previews ) { + p.Value.Shutdown(); + } + _previews.Clear(); + } - void OnEnable() { + // --------------------------------------------------------------------- + // + // Messages + // + // --------------------------------------------------------------------- + + void OnEnable() { _clips = targets.OfType().ToList(); SetupPreviews(); } - public override void OnInspectorGUI() { + void OnDisable() { + ShutdownPreviews(); + } + + public override void OnInspectorGUI() { serializedObject.Update(); DrawDefaultInspector(); DrawSequence();