2021-01-11 08:54:28 +08:00
|
|
|
|
|
|
|
|
using UnityEditor;
|
|
|
|
|
using UnityEngine;
|
2022-02-19 22:37:57 +08:00
|
|
|
using XCharts.Runtime;
|
2021-01-11 08:54:28 +08:00
|
|
|
|
2021-12-24 13:33:09 +08:00
|
|
|
namespace XCharts.Editor
|
2021-01-11 08:54:28 +08:00
|
|
|
{
|
2021-11-23 13:20:07 +08:00
|
|
|
[CustomEditor(typeof(XCSettings))]
|
2021-12-24 13:33:09 +08:00
|
|
|
public class XCSettingsEditor : UnityEditor.Editor
|
2021-01-11 08:54:28 +08:00
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#if UNITY_2018_3_OR_NEWER
|
2021-11-23 13:20:07 +08:00
|
|
|
class XCResourceImporterProvider : SettingsProvider
|
2021-01-11 08:54:28 +08:00
|
|
|
{
|
2021-11-23 13:20:07 +08:00
|
|
|
XCResourcesImporter m_ResourceImporter;
|
2021-01-11 08:54:28 +08:00
|
|
|
|
2021-11-23 13:20:07 +08:00
|
|
|
public XCResourceImporterProvider()
|
2021-01-11 08:54:28 +08:00
|
|
|
: base("Project/XCharts", SettingsScope.Project)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void OnGUI(string searchContext)
|
|
|
|
|
{
|
|
|
|
|
if (m_ResourceImporter == null)
|
2021-11-23 13:20:07 +08:00
|
|
|
m_ResourceImporter = new XCResourcesImporter();
|
2021-01-11 08:54:28 +08:00
|
|
|
|
|
|
|
|
m_ResourceImporter.OnGUI();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void OnDeactivate()
|
|
|
|
|
{
|
|
|
|
|
if (m_ResourceImporter != null)
|
|
|
|
|
m_ResourceImporter.OnDestroy();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static UnityEngine.Object GetSettings()
|
|
|
|
|
{
|
2021-11-23 13:20:07 +08:00
|
|
|
return Resources.Load<XCSettings>("XCSettings");
|
2021-01-11 08:54:28 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[SettingsProviderGroup]
|
2021-11-23 13:20:07 +08:00
|
|
|
static SettingsProvider[] CreateXCSettingsProvider()
|
2021-01-11 08:54:28 +08:00
|
|
|
{
|
2022-01-07 09:48:59 +08:00
|
|
|
var providers = new System.Collections.Generic.List<SettingsProvider> { new XCResourceImporterProvider() };
|
2022-03-26 18:26:34 +08:00
|
|
|
var isExist = File.Exists("Assets/XCharts/Resources/XCSettings.asset");
|
2021-01-11 08:54:28 +08:00
|
|
|
if (GetSettings() != null)
|
|
|
|
|
{
|
|
|
|
|
var provider = new AssetSettingsProvider("Project/XCharts/Settings", GetSettings);
|
2021-11-23 13:20:07 +08:00
|
|
|
provider.PopulateSearchKeywordsFromGUIContentProperties<XCSettingsEditor.Styles>();
|
2021-01-11 08:54:28 +08:00
|
|
|
providers.Add(provider);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return providers.ToArray();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
}
|