From 3810082cec81cf18d6d3b6a72695dd10317af814 Mon Sep 17 00:00:00 2001 From: monitor1394 Date: Thu, 1 Apr 2021 12:13:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96Theme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Editor/Utility/ThemeCheck.cs | 3 +++ Runtime/Mgr/XThemeMgr.cs | 3 ++- Runtime/XChartsSettings.cs | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Editor/Utility/ThemeCheck.cs b/Editor/Utility/ThemeCheck.cs index c511cba7..e3ce8618 100644 --- a/Editor/Utility/ThemeCheck.cs +++ b/Editor/Utility/ThemeCheck.cs @@ -25,6 +25,8 @@ namespace XCharts { if (!IsThemeAsset(assetPath)) return; var obj = AssetDatabase.LoadAssetAtPath(assetPath); + if (obj == null || obj.text == null) return; + if (!obj.text.Contains("m_Theme")) return; if (XChartsSettings.AddJsonTheme(obj)) { XThemeMgr.ReloadThemeList(); @@ -54,6 +56,7 @@ namespace XCharts private static bool IsThemeAsset(string assetPath) { if (!assetPath.EndsWith(".json")) return false; + if (!assetPath.StartsWith("XTheme")) return false; return true; } } diff --git a/Runtime/Mgr/XThemeMgr.cs b/Runtime/Mgr/XThemeMgr.cs index 9b6ab84a..c702f9b8 100644 --- a/Runtime/Mgr/XThemeMgr.cs +++ b/Runtime/Mgr/XThemeMgr.cs @@ -25,7 +25,7 @@ namespace XCharts AddTheme(ChartTheme.Dark); foreach (var json in XChartsSettings.customThemes) { - if (json != null) + if (json != null && !string.IsNullOrEmpty(json.text)) { var theme = JsonUtility.FromJson(json.text); AddTheme(theme); @@ -36,6 +36,7 @@ namespace XCharts public static void AddTheme(ChartTheme theme) { + if (theme == null) return; if (!XChartsMgr.Instance.m_ThemeDict.ContainsKey(theme.themeName)) { XChartsMgr.Instance.m_ThemeDict.Add(theme.themeName, theme); diff --git a/Runtime/XChartsSettings.cs b/Runtime/XChartsSettings.cs index f8db1531..d2b09b70 100644 --- a/Runtime/XChartsSettings.cs +++ b/Runtime/XChartsSettings.cs @@ -152,7 +152,7 @@ namespace XCharts public static bool AddJsonTheme(TextAsset theme) { - if (theme == null) return false; + if (theme == null || string.IsNullOrEmpty(theme.text)) return false; if (!Instance.m_CustomThemes.Contains(theme)) { Instance.m_CustomThemes.Add(theme);