From baf1a8cc5a52720c27dc672b0b8b0c1eb726c3a0 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期六, 09 五月 2026 20:00:37 +0800
Subject: [PATCH] 592 多语言适配 TextLanguageAdapterEditor支持手动设置目标组件和组件类型,避免复制TextLanguageAdapterEditor组件时目标组件还锁在旧的组件上无法设置

---
 Main/Component/UI/Core/TextLanguageAdapter.cs |   58 +++++++++++++---------------------------------------------
 1 files changed, 13 insertions(+), 45 deletions(-)

diff --git a/Main/Component/UI/Core/TextLanguageAdapter.cs b/Main/Component/UI/Core/TextLanguageAdapter.cs
index edcd1c2..15f14aa 100644
--- a/Main/Component/UI/Core/TextLanguageAdapter.cs
+++ b/Main/Component/UI/Core/TextLanguageAdapter.cs
@@ -156,11 +156,20 @@
 
     private bool m_IsApplied = false;
 
-    public TextComponentType TargetTextType => m_TargetTextType;
-    public Component TargetTextComponent => m_TargetTextComponent;
+    // 寮�鏀� set 鏉冮檺锛屽厑璁稿閮ㄦ垨缂栬緫鍣ㄦ墜鍔ㄨ祴鍊�
+    public TextComponentType TargetTextType 
+    { 
+        get => m_TargetTextType; 
+        set => m_TargetTextType = value; 
+    }
+    
+    public Component TargetTextComponent 
+    { 
+        get => m_TargetTextComponent; 
+        set => m_TargetTextComponent = value; 
+    }
+    
     public LanguageConfigDictionary LanguageConfigs => m_LanguageConfigs;
-
-    private void Awake() => DetectTargetComponent();
 
     private void OnEnable()
     {
@@ -170,14 +179,6 @@
             ApplyConfig(langId);
         }
     }
-
-#if UNITY_EDITOR
-    private void Reset()
-    {
-        DetectTargetComponent();
-        if (!HasConfig(DefaultLangId)) ReadCurrentToConfig(DefaultLangId);
-    }
-#endif
 
     public LanguageConfigItem GetConfig(string languageId) => m_LanguageConfigs.Get(languageId);
     public void SetConfig(string languageId, LanguageConfigItem config) => m_LanguageConfigs.Set(languageId, config);
@@ -212,40 +213,7 @@
         return languageId;
     }
 
-    private void DetectTargetComponent()
-    {
-        if (m_TargetTextComponent != null)
-        {
-            DetermineTextType(m_TargetTextComponent);
-            return;
-        }
-
-        m_TargetTextComponent = GetComponent<GradientText>() ?? GetComponentInChildren<GradientText>(true) as Component
-                                ?? GetComponent<TextEx>() ?? GetComponentInChildren<TextEx>(true) as Component
-                                ?? GetComponent<Text>() ?? GetComponentInChildren<Text>(true) as Component;
-
-        DetermineTextType(m_TargetTextComponent);
-    }
-
-    private void DetermineTextType(Component component)
-    {
-        m_TargetTextType = component switch
-        {
-            GradientText _ => TextComponentType.GradientText,
-            TextEx _ => TextComponentType.TextEx,
-            Text _ => TextComponentType.Text,
-            _ => TextComponentType.None
-        };
-    }
-
 #if UNITY_EDITOR
-    [ContextMenu("鍒锋柊缁勪欢妫�娴�")]
-    public void Editor_ForceRefreshDetection()
-    {
-        DetectTargetComponent();
-        UnityEditor.EditorUtility.SetDirty(this);
-    }
-
     [ContextMenu("璇诲彇褰撳墠閰嶇疆")]
     public void Editor_ReadCurrentConfig()
     {

--
Gitblit v1.8.0