From bc1cb6da854cb2e9144f10ed55330a537ecdca16 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 04 三月 2026 14:35:57 +0800
Subject: [PATCH] 466 h5版本 资源规则修改 打包修改(未完成 勿拉取)

---
 Main/Config/ConfigManager.cs |  370 +++++++++++++++++++++-------------------------------
 1 files changed, 153 insertions(+), 217 deletions(-)

diff --git a/Main/Config/ConfigManager.cs b/Main/Config/ConfigManager.cs
index 37cc055..c70f54f 100644
--- a/Main/Config/ConfigManager.cs
+++ b/Main/Config/ConfigManager.cs
@@ -17,12 +17,16 @@
         private set;
     }
 
+    private List<Type> preInitConfig = new List<Type>()
+    {
+      typeof (FuncConfigConfig),  
+    };
+
     private float loadingProgress = 0f;
 
-    public override void Init()
+    public override async UniTask Init()
     {
-        base.Init();
-        InitConfigs().Forget();
+        await InitConfigs();
     }
 
     public virtual async UniTask InitConfigs()
@@ -31,33 +35,64 @@
         await LoadConfigs();
     }
 
+    public async UniTask PreInit()
+    {
+        List<UniTask> uniTasks = new List<UniTask>();
+        foreach (var type in preInitConfig)
+        {
+            uniTasks.Add(LoadConfigByTypeAsync(type));
+        }
+        await UniTask.WhenAll(uniTasks);
+    }
+
     protected async UniTask LoadConfigs()
     {
         loadingProgress = 0f;
         isLoadFinished = false;
 
-        // 鍔犺浇閰嶇疆鏂囦欢
+        // 鑷姩鐢熸垚锛氭敹闆嗘墍鏈夐厤缃被鍨嬶紙姝ゆ灏嗚 ConfigGenerater.Generate 鑷姩瑕嗙洊锛�
+        // 鑷姩鐢熸垚锛氭敹闆嗘墍鏈夐厤缃被鍨�
+        // 鑷姩鐢熸垚锛氭敹闆嗘墍鏈夐厤缃被鍨�
+        // 鑷姩鐢熸垚锛氭敹闆嗘墍鏈夐厤缃被鍨�
         HashSet<Type> configTypes = new HashSet<Type>() {
             typeof(ActLunhuidianTypeConfig),
             typeof(ADAwardConfig),
+            typeof(AppointItemConfig),
+            typeof(AudioConfig),
             typeof(BattleMapConfig),
             typeof(BeautyConfig),
             typeof(BeautyQualityLVConfig),
             typeof(BeautySkinConfig),
+            typeof(ChatBubbleBoxConfig),
             typeof(ChestsAwardConfig),
+            typeof(ChestsConfig),
             typeof(CTGConfig),
+            typeof(CTGSelectItemConfig),
+            typeof(DailyLivenessRewardConfig),
             typeof(DailyTaskConfig),
             typeof(DamageNumConfig),
+            typeof(DirtyNameConfig),
             typeof(DirtyWordConfig),
             typeof(DungeonConfig),
             typeof(DungeonOpenTimeConfig),
+            typeof(EffectConfig),
+            typeof(EmojiPackConfig),
             typeof(FaceConfig),
+            typeof(FamilyConfig),
             typeof(FamilyDonateConfig),
+            typeof(FamilyEmblemConfig),
             typeof(FBDJGEffectConfig),
             typeof(FBDJGLevelConfig),
             typeof(FBDJGQuickConfig),
             typeof(FightPowerRatioConfig),
             typeof(FirstChargeConfig),
+            typeof(FirstGoldConfig),
+            typeof(FrameAnimationConfig),
+            typeof(FuncConfigConfig),
+            typeof(FuncOpenLVConfig),
+            typeof(FunctionTeamSetConfig),
+            typeof(GetItemWaysConfig),
+            typeof(GmCmdConfig),
             typeof(GoldRushCampConfig),
             typeof(GoldRushItemConfig),
             typeof(GoldRushWorkerConfig),
@@ -67,16 +102,30 @@
             typeof(GubaoResonanceAttrConfig),
             typeof(GubaoResonanceConfig),
             typeof(GubaoStarConfig),
+            typeof(GuideConfig),
+            typeof(HeroAwakeConfig),
+            typeof(HeroBreakConfig),
+            typeof(HeroConfig),
             typeof(HeroFatesConfig),
             typeof(HeroFatesQualityLVConfig),
+            typeof(HeroFetterConfig),
             typeof(HeroLineupHaloConfig),
+            typeof(HeroQualityAwakeConfig),
+            typeof(HeroQualityBreakConfig),
+            typeof(HeroQualityConfig),
             typeof(HeroQualityLVConfig),
+            typeof(HeroSkinConfig),
+            typeof(HeroTalentConfig),
             typeof(HorseClassConfig),
             typeof(HorseSkinConfig),
+            typeof(IconConfig),
             typeof(ItemCompoundConfig),
             typeof(ItemConfig),
+            typeof(KickOutReasonConfig),
+            typeof(LanguageConfig),
             typeof(LineupRecommendConfig),
             typeof(LLMJConfig),
+            typeof(MailConfig),
             typeof(MainChapterConfig),
             typeof(MainLevelConfig),
             typeof(MGGanwuLVConfig),
@@ -91,14 +140,23 @@
             typeof(OrderInfoConfig),
             typeof(PlayerAttrConfig),
             typeof(PlayerFaceConfig),
+            typeof(PlayerFacePicConfig),
+            typeof(PlayerLVConfig),
+            typeof(PlayerPropertyConfig),
             typeof(PresetUnlockConfig),
             typeof(PriorBundleConfig),
             typeof(RandomNameConfig),
+            typeof(RealmConfig),
+            typeof(RealmLVUPTaskConfig),
+            typeof(RichTextMsgReplaceConfig),
+            typeof(RuleConfig),
             typeof(SignInConfig),
+            typeof(SkillConfig),
             typeof(SkillSkinConfig),
             typeof(StoreConfig),
             typeof(SuccessConfig),
             typeof(SysInfoConfig),
+            typeof(TaskConfig),
             typeof(TianziConfig),
             typeof(TimingGiftConfig),
             typeof(TimingGiftTypeConfig),
@@ -106,6 +164,8 @@
             typeof(TitleStarUpConfig),
             typeof(TravelEventConfig),
             typeof(TravelSceneryConfig),
+            typeof(TreasureCntAwardConfig),
+            typeof(TreasureItemLibConfig),
             typeof(TreasureSetConfig),
             typeof(TreeLVConfig),
             typeof(WindowSearchConfig),
@@ -113,106 +173,81 @@
             typeof(ZhanlingConfig)
         };
 
-#if UNITY_EDITOR
-        HashSet<Type> configHashSet = new HashSet<Type>();
-        if (System.IO.File.Exists(Application.dataPath + "/fastConfig.txt") && Launch.Instance.isOpenConfigTesting)
-        {
-            string[] strConfgsArr = System.IO.File.ReadAllLines(Application.dataPath + "/fastConfig.txt");
-            foreach (string str in strConfgsArr)
-            {
-                Type tpy = Type.GetType(str);
-                configHashSet.Add(tpy);
-            }
-        }
-        //  缂栬緫鍣ㄤ笅鍔犲叆 璇勪及鍔犺浇鏃跺父
-        foreach (var config in configHashSet)
-        {
-            if (!configTypes.Add(config))
-            {
-                Debug.LogWarning($"閰嶇疆 {config.Name} 宸茬粡瀛樺湪浜� configTypes 涓紝璺宠繃娣诲姞銆�");
-            }
-        }
-        List<string> fastName = new List<string>();
-#endif
+
         int iterator = 0;
         int totalConfigs = configTypes.Count;
+
+        List<UniTask> loadTasks = new List<UniTask>();
 
         // 閫愪釜鍔犺浇閰嶇疆骞舵洿鏂拌繘搴�
         foreach (var configType in configTypes)
         {
+#if UNITY_EDITOR
             var sw = System.Diagnostics.Stopwatch.StartNew();
-            LoadConfigByType(configType);
-            sw.Stop();
-#if UNITY_EDITOR
-            if (sw.ElapsedMilliseconds >= 100)
-            {
-                Debug.LogError($"鍔犺浇閰嶇疆 {configType.Name} 鑰楁椂杈冮暱: {sw.ElapsedMilliseconds} ms");
-            }
-            else if (sw.ElapsedMilliseconds <= 5)
-            {
-                fastName.Add(configType.Name);
-            }
-            Debug.Log($"鍔犺浇閰嶇疆: {configType.Name} 鐢ㄦ椂: {sw.ElapsedMilliseconds} ms");
 #endif
-            loadingProgress = (float)(iterator++ + 1) / totalConfigs;
-        }
-#if UNITY_EDITOR
-        if (Launch.Instance.isOpenConfigTesting)
-        {
-            System.IO.File.WriteAllText(Application.dataPath + "/fastConfig.txt", string.Join("\n", fastName));
-
-            //鍔犺浇瀹屽悗鍗歌浇
-            foreach (var configType in configTypes)
+            UniTask uniTask = LoadConfigByTypeAsync(configType).ContinueWith(() =>
             {
-                var methodInfo = configType.GetMethod("ForceRelease", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.FlattenHierarchy);
-                if (methodInfo != null)
+#if UNITY_EDITOR
+                if (sw.ElapsedMilliseconds >= 100)
                 {
-                    methodInfo.Invoke(null, null);
+                    Debug.LogWarning($"鍔犺浇閰嶇疆 {configType.Name} 鑰楁椂杈冮暱: {sw.ElapsedMilliseconds} ms");
                 }
-            }
-        }
+                else
+                {
+                    Debug.Log($"鍔犺浇閰嶇疆: {configType.Name} 鐢ㄦ椂: {sw.ElapsedMilliseconds} ms");
+                }
+                sw.Stop();
 #endif
+
+                loadingProgress = (float)(iterator++ + 1) / totalConfigs;
+            });
+            
+            loadTasks.Add(uniTask);
+
+        }
+
+        await UniTask.WhenAll(loadTasks);
 
         // 鍔犺浇瀹屾垚鍚庤缃甶sLoadFinished涓簍rue
         loadingProgress = 1f;
         isLoadFinished = true;
     }
 
-    public void LoadConfigByType(Type configType)
-    {
-        string configName = configType.Name;
-        if (configName.EndsWith("Config"))
-        {
-            configName = configName.Substring(0, configName.Length - 6);
-        }
-        #pragma warning disable CS0618 // Obsolete 鈥� sync legacy fallback, use LoadConfigByTypeAsync
-        string[] texts = ResManager.Instance.LoadConfig(configName);
-        #pragma warning restore CS0618
-        if (texts != null)
-        {
-            string[] lines = texts;
-            var methodInfo = configType.GetMethod("Init", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.FlattenHierarchy);
-            if (methodInfo != null)
-            {
-                methodInfo.Invoke(null, new object[] { lines });
-                // 璁剧疆鍒濆鍖栨爣蹇�
-                var isInitField = configType.GetField("isInit", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static);
-                if (isInitField != null)
-                {
-                    isInitField.SetValue(null, true);
-                }
-                Debug.Log($"鍔犺浇閰嶇疆: {configType.Name} 鎴愬姛");
-            }
-            else
-            {
-                Debug.LogError($"閰嶇疆绫� {configType.Name} 娌℃湁闈欐�両nit鏂规硶");
-            }
-        }
-        else
-        {
-            Debug.LogError($"鎵句笉鍒伴厤缃枃浠�: {configName}");
-        }
-    }
+    // public void LoadConfigByType(Type configType)
+    // {
+    //     string configName = configType.Name;
+    //     if (configName.EndsWith("Config"))
+    //     {
+    //         configName = configName.Substring(0, configName.Length - 6);
+    //     }
+    //     #pragma warning disable CS0618 // Obsolete 鈥� sync legacy fallback, use LoadConfigByTypeAsync
+    //     string[] texts = ResManager.Instance.LoadConfig(configName);
+    //     #pragma warning restore CS0618
+    //     if (texts != null)
+    //     {
+    //         string[] lines = texts;
+    //         var methodInfo = configType.GetMethod("Init", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.FlattenHierarchy);
+    //         if (methodInfo != null)
+    //         {
+    //             methodInfo.Invoke(null, new object[] { lines });
+    //             // 璁剧疆鍒濆鍖栨爣蹇�
+    //             var isInitField = configType.GetField("isInit", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static);
+    //             if (isInitField != null)
+    //             {
+    //                 isInitField.SetValue(null, true);
+    //             }
+    //             Debug.Log($"鍔犺浇閰嶇疆: {configType.Name} 鎴愬姛");
+    //         }
+    //         else
+    //         {
+    //             Debug.LogError($"閰嶇疆绫� {configType.Name} 娌℃湁闈欐�両nit鏂规硶");
+    //         }
+    //     }
+    //     else
+    //     {
+    //         Debug.LogError($"鎵句笉鍒伴厤缃枃浠�: {configName}");
+    //     }
+    // }
 
     /// <summary>
     /// US2: Async variant of LoadConfigByType. Uses UniTask-based config loading.
@@ -227,7 +262,7 @@
         string[] texts = await ResManager.Instance.LoadConfigAsync(configName);
         if (texts != null)
         {
-            var methodInfo = configType.GetMethod("Init", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.FlattenHierarchy);
+        var methodInfo = configType.GetMethod("Init", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.FlattenHierarchy);
             if (methodInfo != null)
             {
                 methodInfo.Invoke(null, new object[] { texts });
@@ -248,38 +283,38 @@
         }
     }
 
-    private async UniTask LoadConfig<T>() where T : class
-    {
-        string configName = typeof(T).Name;
+    // private async UniTask LoadConfig<T>() where T : class
+    // {
+    //     string configName = typeof(T).Name;
 
-        #pragma warning disable CS0618
-        string[] texts = ResManager.Instance.LoadConfig(configName);
-        #pragma warning restore CS0618
-        if (texts != null)
-        {
-            string[] lines = texts;
-            var methodInfo = typeof(T).GetMethod("Init", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static);
-            if (methodInfo != null)
-            {
-                methodInfo.Invoke(null, lines);
-                // 璁剧疆鍒濆鍖栨爣蹇�
-                var isInitField = typeof(T).GetField("isInit", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static);
-                if (isInitField != null)
-                {
-                    isInitField.SetValue(null, true);
-                }
-                Debug.Log($"鍔犺浇閰嶇疆: {typeof(T).Name} 鎴愬姛");
-            }
-            else
-            {
-                Debug.LogError($"閰嶇疆绫� {typeof(T).Name} 娌℃湁闈欐�両nit鏂规硶");
-            }
-        }
-        else
-        {
-            Debug.LogError($"鎵句笉鍒伴厤缃枃浠�: {configName}");
-        }
-    }
+    //     #pragma warning disable CS0618
+    //     string[] texts = ResManager.Instance.LoadConfig(configName);
+    //     #pragma warning restore CS0618
+    //     if (texts != null)
+    //     {
+    //         string[] lines = texts;
+    //         var methodInfo = typeof(T).GetMethod("Init", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static);
+    //         if (methodInfo != null)
+    //         {
+    //             methodInfo.Invoke(null, lines);
+    //             // 璁剧疆鍒濆鍖栨爣蹇�
+    //             var isInitField = typeof(T).GetField("isInit", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static);
+    //             if (isInitField != null)
+    //             {
+    //                 isInitField.SetValue(null, true);
+    //             }
+    //             Debug.Log($"鍔犺浇閰嶇疆: {typeof(T).Name} 鎴愬姛");
+    //         }
+    //         else
+    //         {
+    //             Debug.LogError($"閰嶇疆绫� {typeof(T).Name} 娌℃湁闈欐�両nit鏂规硶");
+    //         }
+    //     }
+    //     else
+    //     {
+    //         Debug.LogError($"鎵句笉鍒伴厤缃枃浠�: {configName}");
+    //     }
+    // }
 
     public float GetLoadingProgress()
     {
@@ -446,103 +481,4 @@
         ClearConfigDictionary<ZhanlingConfig>();
     }
 
-#if UNITY_EDITOR
-    [MenuItem("Tools/Config/鑷")]
-    public static void CheckAndGenerateFastConfig()
-    {
-        // 鑾峰彇 Editor Assembly
-        var editorAsm = System.AppDomain.CurrentDomain.GetAssemblies()
-            .FirstOrDefault(a => a.FullName.Contains("Editor"));
-
-        if (editorAsm == null)
-        {
-            Debug.LogError("[鑷] 鏈壘鍒� Editor Assembly锛屾棤娉曡嚜妫�銆�");
-            return;
-        }
-
-        // 鍙嶅皠鑾峰彇 ConfigGenerater 绫诲瀷
-        var configGeneraterType = editorAsm.GetType("ConfigGenerater");
-        if (configGeneraterType == null)
-        {
-            Debug.LogError("[鑷] 鏈壘鍒� ConfigGenerater 绫诲瀷銆�");
-            return;
-        }
-
-        // 璋冪敤 GetAllConfigClasses 闈欐�佹柟娉�
-        var getAllConfigClassesMethod = configGeneraterType.GetMethod("GetAllConfigClasses", BindingFlags.Public | BindingFlags.Static);
-        var allConfigClasses = getAllConfigClassesMethod?.Invoke(null, null) as List<string>;
-        if (allConfigClasses == null)
-        {
-            Debug.LogError("[鑷] 鑾峰彇鍏ㄩ儴閰嶇疆绫诲け璐ャ��");
-            return;
-        }
-
-        // 鑾峰彇 ExcludeClassList 瀛楁
-        var excludeField = configGeneraterType.GetField("ExcludeClassList", BindingFlags.Public | BindingFlags.Static);
-        var excludeClassList = excludeField?.GetValue(null) as List<string> ?? new List<string>();
-
-        // 鎺掗櫎涓嶉渶瑕佺殑绫�
-        var checkClasses = allConfigClasses.Where(c => !excludeClassList.Contains(c)).ToList();
-
-        List<string> fastName = new List<string>();
-
-        foreach (var className in checkClasses)
-        {
-            // 杩欓噷涔熻鐢� Editor Assembly 鑾峰彇绫诲瀷
-            var configType = editorAsm.GetType(className) ?? Type.GetType(className);
-            if (configType == null)
-            {
-                Debug.LogWarning($"[鑷] 鏈壘鍒扮被鍨�: {className}");
-                continue;
-            }
-
-            var sw = System.Diagnostics.Stopwatch.StartNew();
-
-            // 鍙嶅皠璋冪敤闈欐�両nit鏂规硶
-            string configName = configType.Name;
-            if (configName.EndsWith("Config"))
-                configName = configName.Substring(0, configName.Length - 6);
-
-            #pragma warning disable CS0618
-            string[] texts = ResManager.Instance.LoadConfig(configName);
-            #pragma warning restore CS0618
-            if (texts != null)
-            {
-                string[] lines = texts;
-                var methodInfo = configType.GetMethod("Init", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.FlattenHierarchy);
-                if (methodInfo != null)
-                {
-                    methodInfo.Invoke(null, new object[] { lines });
-                }
-            }
-
-            sw.Stop();
-
-            if (sw.ElapsedMilliseconds >= 100)
-            {
-                Debug.LogError($"[鑷] 鍔犺浇閰嶇疆 {configType.Name} 鑰楁椂杈冮暱: {sw.ElapsedMilliseconds} ms");
-            }
-            else if (sw.ElapsedMilliseconds <= 5)
-            {
-                fastName.Add(configType.Name);
-            }
-            Debug.Log($"[鑷] 鍔犺浇閰嶇疆: {configType.Name} 鐢ㄦ椂: {sw.ElapsedMilliseconds} ms");
-        }
-
-        // 閲婃斁鎵�鏈夊凡鍔犺浇鐨勯厤缃�
-        foreach (var className in checkClasses)
-        {
-            var configType = editorAsm.GetType(className) ?? Type.GetType(className);
-            if (configType == null) continue;
-            var methodInfo = configType.GetMethod("ForceRelease", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.FlattenHierarchy);
-            if (methodInfo != null)
-            {
-                methodInfo.Invoke(null, null);
-            }
-        }
-
-        System.IO.File.WriteAllText(Application.dataPath + "/fastConfig.txt", string.Join("\n", fastName));
-        Debug.Log($"[鑷] fastConfig.txt 鐢熸垚瀹屾瘯锛屽揩閫熻〃鏈夛細{string.Join(", ", fastName)}");
-    }
-#endif
 }

--
Gitblit v1.8.0