diff --git a/Assets/XCharts/Editor/Utility/ThemeCheck.cs b/Assets/XCharts/Editor/Utility/ThemeCheck.cs index c511cba7..e3ce8618 100644 --- a/Assets/XCharts/Editor/Utility/ThemeCheck.cs +++ b/Assets/XCharts/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/Assets/XCharts/Runtime/Mgr/XThemeMgr.cs b/Assets/XCharts/Runtime/Mgr/XThemeMgr.cs index 9b6ab84a..c702f9b8 100644 --- a/Assets/XCharts/Runtime/Mgr/XThemeMgr.cs +++ b/Assets/XCharts/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/Assets/XCharts/Runtime/XChartsSettings.cs b/Assets/XCharts/Runtime/XChartsSettings.cs index f8db1531..d2b09b70 100644 --- a/Assets/XCharts/Runtime/XChartsSettings.cs +++ b/Assets/XCharts/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);