using AlicizaX.Editor; using AlicizaX.Localization.Runtime; using AlicizaX.Runtime; using UnityEditor; namespace AlicizaX.Localization.Editor { [CustomEditor(typeof(LocalizationComponent))] internal sealed class LocalizationComponentInspector : ComponentTypeComponentInspector { private SerializedProperty _language; public override void OnInspectorGUI() { base.OnInspectorGUI(); serializedObject.Update(); serializedObject.ApplyModifiedProperties(); Language language = (Language)EditorGUILayout.EnumPopup("语言", (Language)_language.enumValueIndex); if ((int)language != _language.enumValueIndex) { _language.enumValueIndex = (int)language; } Repaint(); } protected override void RefreshTypeNames() { RefreshComponentTypeNames(typeof(ILocalizationManager)); } protected override void Enable() { base.Enable(); _language = serializedObject.FindProperty("_language"); } } }