64 lines
2.2 KiB
C#
64 lines
2.2 KiB
C#
|
using UnityEditor;
|
||
|
using UnityEngine;
|
||
|
using XCharts.Runtime;
|
||
|
#if dUI_TextMeshPro
|
||
|
using TMPro;
|
||
|
#endif
|
||
|
|
||
|
namespace XCharts.Editor
|
||
|
{
|
||
|
[CustomEditor(typeof(Theme))]
|
||
|
public class ThemeEditor : UnityEditor.Editor
|
||
|
{
|
||
|
static class Styles
|
||
|
{
|
||
|
internal static GUIContent btnReset = new GUIContent("Reset to Default", "Reset to default theme");
|
||
|
internal static GUIContent btnSyncFontToSubTheme = new GUIContent("Sync Font to Sub Theme", "Sync main theme font to sub theme font");
|
||
|
internal static GUIContent btnSyncFontFromSetting = new GUIContent("Sync Font from Setting", "Sync main theme font and sub theme font from XCSetting font");
|
||
|
}
|
||
|
|
||
|
private Theme m_Theme;
|
||
|
|
||
|
void OnEnable()
|
||
|
{
|
||
|
m_Theme = target as Theme;
|
||
|
}
|
||
|
|
||
|
public override void OnInspectorGUI()
|
||
|
{
|
||
|
base.OnInspectorGUI();
|
||
|
if (GUILayout.Button(Styles.btnReset))
|
||
|
{
|
||
|
if (EditorUtility.DisplayDialog(Styles.btnReset.text, Styles.btnReset.tooltip, "Yes", "Cancel"))
|
||
|
{
|
||
|
m_Theme.ResetTheme();
|
||
|
Debug.Log("XCharts: Reset Finish.");
|
||
|
}
|
||
|
}
|
||
|
if (GUILayout.Button(Styles.btnSyncFontFromSetting))
|
||
|
{
|
||
|
if (EditorUtility.DisplayDialog(Styles.btnSyncFontFromSetting.text, Styles.btnSyncFontFromSetting.tooltip, "Yes", "Cancel"))
|
||
|
{
|
||
|
m_Theme.common.font = XCSettings.font;
|
||
|
m_Theme.SyncFontToSubComponent();
|
||
|
#if dUI_TextMeshPro
|
||
|
m_Theme.common.tmpFont = XCSettings.tmpFont;
|
||
|
m_Theme.SyncTMPFontToSubComponent();
|
||
|
#endif
|
||
|
Debug.Log("XCharts: Sync Finish.");
|
||
|
}
|
||
|
}
|
||
|
if (GUILayout.Button(Styles.btnSyncFontToSubTheme))
|
||
|
{
|
||
|
if (EditorUtility.DisplayDialog(Styles.btnSyncFontToSubTheme.text, Styles.btnSyncFontToSubTheme.tooltip, "Yes", "Cancel"))
|
||
|
{
|
||
|
m_Theme.SyncFontToSubComponent();
|
||
|
#if dUI_TextMeshPro
|
||
|
m_Theme.SyncTMPFontToSubComponent();
|
||
|
#endif
|
||
|
Debug.Log("XCharts: Sync Finish.");
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|