From f96c3094965a63f4e471e8050ef459dc9bace969 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期六, 09 五月 2026 20:00:20 +0800
Subject: [PATCH] 592 多语言适配 TextLanguageAdapterEditor支持手动设置目标组件和组件类型,避免复制TextLanguageAdapterEditor组件时目标组件还锁在旧的组件上无法设置
---
Assets/Editor/UIComponent/TextLanguageAdapterEditor.cs | 26 +++++++++++++++++++++-----
1 files changed, 21 insertions(+), 5 deletions(-)
diff --git a/Assets/Editor/UIComponent/TextLanguageAdapterEditor.cs b/Assets/Editor/UIComponent/TextLanguageAdapterEditor.cs
index 8c2934b..828752a 100644
--- a/Assets/Editor/UIComponent/TextLanguageAdapterEditor.cs
+++ b/Assets/Editor/UIComponent/TextLanguageAdapterEditor.cs
@@ -40,14 +40,30 @@
{
EditorGUILayout.LabelField("鍩烘湰淇℃伅", EditorStyles.boldLabel);
- using (new EditorGUI.DisabledScope(true))
+ EditorGUI.BeginChangeCheck();
+
+ // 鍏佽鎵嬪姩鎷栨嫿鐩爣缁勪欢鍜岃缃被鍨�
+ Component newTarget = (Component)EditorGUILayout.ObjectField("鐩爣缁勪欢", adapter.TargetTextComponent, typeof(Component), true);
+ TextComponentType newType = (TextComponentType)EditorGUILayout.EnumPopup("缁勪欢绫诲瀷", adapter.TargetTextType);
+
+ if (EditorGUI.EndChangeCheck())
{
- EditorGUILayout.ObjectField("鐩爣缁勪欢", adapter.LanguageConfigs.keys.Count > 0 ? adapter.TargetTextComponent : null, typeof(Component), true);
- EditorGUILayout.EnumPopup("缁勪欢绫诲瀷", adapter.TargetTextType);
+ Undo.RecordObject(adapter, "Update Basic Info");
+
+ // 鏅鸿兘杈呭姪锛氬綋鐢ㄦ埛鎷栨嫿鏂扮粍浠舵椂锛屽皾璇曡嚜鍔ㄥ尮閰嶄竴涓嬬被鍨嬶紝浣嗕篃鍏佽鎵嬪姩瑕嗙洊
+ if (newTarget != null && newTarget != adapter.TargetTextComponent)
+ {
+ string typeName = newTarget.GetType().Name;
+ if (typeName == "GradientText") newType = TextComponentType.GradientText;
+ else if (typeName == "TextEx") newType = TextComponentType.TextEx;
+ else if (newTarget is UnityEngine.UI.Text) newType = TextComponentType.Text;
+ }
+
+ adapter.TargetTextComponent = newTarget;
+ adapter.TargetTextType = newType;
}
- if (GUILayout.Button("鍒锋柊缁勪欢妫�娴�", GUILayout.Width(120))) adapter.Editor_ForceRefreshDetection();
- EditorGUILayout.HelpBox("缁勪欢鎴栫被鍨嬪彉鏇村悗闇�鎵ц鍒锋柊缁勪欢妫�娴�", MessageType.Info);
+ EditorGUILayout.HelpBox("璇锋墜鍔ㄦ嫋鎷借閫傞厤鐨勬枃鏈粍浠讹紝骞剁‘璁ょ粍浠剁被鍨嬫槸鍚︽纭��", MessageType.Info);
}
}
--
Gitblit v1.8.0