From 1ad03cc2f91d75e80fc3dc42e2ac1fadc9a2bfec Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 11 二月 2026 16:10:43 +0800
Subject: [PATCH] Merge branch 'master' into h5version

---
 Main/Config/ConfigManager.cs |  317 ++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 216 insertions(+), 101 deletions(-)

diff --git a/Main/Config/ConfigManager.cs b/Main/Config/ConfigManager.cs
index 5731362..e673ab1 100644
--- a/Main/Config/ConfigManager.cs
+++ b/Main/Config/ConfigManager.cs
@@ -22,7 +22,7 @@
     public override void Init()
     {
         base.Init();
-        InitConfigs();
+        InitConfigs().Forget();
     }
 
     public virtual async UniTask InitConfigs()
@@ -38,52 +38,77 @@
 
         // 鍔犺浇閰嶇疆鏂囦欢
         HashSet<Type> configTypes = new HashSet<Type>() {
-            typeof(ChatBubbleBoxConfig),
+            typeof(ADAwardConfig),
+            typeof(BattleMapConfig),
+            typeof(BeautyConfig),
+            typeof(BeautyQualityLVConfig),
+            typeof(BeautySkinConfig),
+            typeof(ChestsAwardConfig),
             typeof(CTGConfig),
-            typeof(DailyLivenessRewardConfig),
-            typeof(DailyQuestConfig),
-            typeof(DailyQuestOpenTimeConfig),
-            typeof(DienstgradConfig),
-            typeof(DirtyNameConfig),
+            typeof(DailyTaskConfig),
+            typeof(DamageNumConfig),
             typeof(DirtyWordConfig),
-            typeof(EffectConfig),
-            typeof(EquipGSParamConfig),
-            typeof(EquipPlaceMapConfig),
-            typeof(FamilyEmblemConfig),
-            typeof(FrameAnimationConfig),
-            typeof(FuncConfigConfig),
-            typeof(FuncOpenLVConfig),
-            typeof(FunctionTeamSetConfig),
-            typeof(GetItemWaysConfig),
-            typeof(GmCmdConfig),
-            typeof(HeroAwakeConfig),
-            typeof(HeroConfig),
-            typeof(HeroQualityAwakeConfig),
-            typeof(HeroQualityBreakConfig),
-            typeof(HeroQualityConfig),
-            typeof(HeroSkinConfig),
+            typeof(DungeonConfig),
+            typeof(DungeonOpenTimeConfig),
+            typeof(FaceConfig),
+            typeof(FamilyDonateConfig),
+            typeof(FBDJGEffectConfig),
+            typeof(FBDJGLevelConfig),
+            typeof(FBDJGQuickConfig),
+            typeof(FightPowerRatioConfig),
+            typeof(FirstChargeConfig),
+            typeof(GoldRushCampConfig),
+            typeof(GoldRushItemConfig),
+            typeof(GoldRushWorkerConfig),
+            typeof(GubaoConfig),
+            typeof(GubaoLVAttrConfig),
+            typeof(GubaoLVConfig),
+            typeof(GubaoResonanceAttrConfig),
+            typeof(GubaoResonanceConfig),
+            typeof(GubaoStarConfig),
+            typeof(HeroFatesConfig),
+            typeof(HeroFatesQualityLVConfig),
+            typeof(HeroLineupHaloConfig),
+            typeof(HeroQualityLVConfig),
+            typeof(HorseClassConfig),
+            typeof(HorseSkinConfig),
+            typeof(ItemCompoundConfig),
             typeof(ItemConfig),
-            typeof(KickOutReasonConfig),
+            typeof(LineupRecommendConfig),
+            typeof(LLMJConfig),
             typeof(MainChapterConfig),
             typeof(MainLevelConfig),
+            typeof(MGGanwuLVConfig),
+            typeof(MGGuayuQualityConfig),
+            typeof(MGGuayuTypeConfig),
+            typeof(MGLingyingQualityConfig),
+            typeof(ModelConfig),
             typeof(NPCConfig),
+            typeof(NPCExConfig),
             typeof(NPCLineupConfig),
+            typeof(OPConfigConfig),
             typeof(OrderInfoConfig),
+            typeof(PlayerAttrConfig),
             typeof(PlayerFaceConfig),
-            typeof(PlayerLVConfig),
-            typeof(PlayerPropertyConfig),
-            typeof(priorbundleConfig),
-            typeof(RealmConfig),
-            typeof(RealmLVUPTaskConfig),
-            typeof(RuleConfig),
-            typeof(SkillConfig),
-            typeof(TaskConfig),
+            typeof(PresetUnlockConfig),
+            typeof(RandomNameConfig),
+            typeof(SignInConfig),
+            typeof(SkillSkinConfig),
+            typeof(StoreConfig),
+            typeof(SuccessConfig),
+            typeof(SysInfoConfig),
+            typeof(TianziConfig),
+            typeof(TimingGiftConfig),
+            typeof(TimingGiftTypeConfig),
+            typeof(TitleConfig),
             typeof(TitleStarUpConfig),
-            typeof(TreasureCntAwardConfig),
-            typeof(TreasureItemLibConfig),
+            typeof(TravelEventConfig),
+            typeof(TravelSceneryConfig),
             typeof(TreasureSetConfig),
             typeof(TreeLVConfig),
-            typeof(XBGetItemConfig)
+            typeof(WindowSearchConfig),
+            typeof(XBGetItemConfig),
+            typeof(ZhanlingConfig)
         };
 
 #if UNITY_EDITOR
@@ -158,7 +183,9 @@
         {
             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;
@@ -185,11 +212,47 @@
         }
     }
 
+    /// <summary>
+    /// US2: Async variant of LoadConfigByType. Uses UniTask-based config loading.
+    /// </summary>
+    public async UniTask LoadConfigByTypeAsync(Type configType)
+    {
+        string configName = configType.Name;
+        if (configName.EndsWith("Config"))
+        {
+            configName = configName.Substring(0, configName.Length - 6);
+        }
+        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);
+            if (methodInfo != null)
+            {
+                methodInfo.Invoke(null, new object[] { texts });
+                var isInitField = configType.GetField("isInit", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static);
+                if (isInitField != null)
+                {
+                    isInitField.SetValue(null, true);
+                }
+            }
+            else
+            {
+                Debug.LogError($"閰嶇疆绫� {configType.Name} 娌℃湁闈欐�両nit鏂规硶");
+            }
+        }
+        else
+        {
+            Debug.LogError($"鎵句笉鍒伴厤缃枃浠�: {configName}");
+        }
+    }
+
     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;
@@ -233,98 +296,148 @@
 
     public override void Release()
     {
-        // 娓呯┖ ChatBubbleBoxConfig 瀛楀吀
-        ClearConfigDictionary<ChatBubbleBoxConfig>();
+        // 娓呯┖ ADAwardConfig 瀛楀吀
+        ClearConfigDictionary<ADAwardConfig>();
+        // 娓呯┖ BattleMapConfig 瀛楀吀
+        ClearConfigDictionary<BattleMapConfig>();
+        // 娓呯┖ BeautyConfig 瀛楀吀
+        ClearConfigDictionary<BeautyConfig>();
+        // 娓呯┖ BeautyQualityLVConfig 瀛楀吀
+        ClearConfigDictionary<BeautyQualityLVConfig>();
+        // 娓呯┖ BeautySkinConfig 瀛楀吀
+        ClearConfigDictionary<BeautySkinConfig>();
+        // 娓呯┖ ChestsAwardConfig 瀛楀吀
+        ClearConfigDictionary<ChestsAwardConfig>();
         // 娓呯┖ CTGConfig 瀛楀吀
         ClearConfigDictionary<CTGConfig>();
-        // 娓呯┖ DailyLivenessRewardConfig 瀛楀吀
-        ClearConfigDictionary<DailyLivenessRewardConfig>();
-        // 娓呯┖ DailyQuestConfig 瀛楀吀
-        ClearConfigDictionary<DailyQuestConfig>();
-        // 娓呯┖ DailyQuestOpenTimeConfig 瀛楀吀
-        ClearConfigDictionary<DailyQuestOpenTimeConfig>();
-        // 娓呯┖ DienstgradConfig 瀛楀吀
-        ClearConfigDictionary<DienstgradConfig>();
-        // 娓呯┖ DirtyNameConfig 瀛楀吀
-        ClearConfigDictionary<DirtyNameConfig>();
+        // 娓呯┖ DailyTaskConfig 瀛楀吀
+        ClearConfigDictionary<DailyTaskConfig>();
+        // 娓呯┖ DamageNumConfig 瀛楀吀
+        ClearConfigDictionary<DamageNumConfig>();
         // 娓呯┖ DirtyWordConfig 瀛楀吀
         ClearConfigDictionary<DirtyWordConfig>();
-        // 娓呯┖ EffectConfig 瀛楀吀
-        ClearConfigDictionary<EffectConfig>();
-        // 娓呯┖ EquipGSParamConfig 瀛楀吀
-        ClearConfigDictionary<EquipGSParamConfig>();
-        // 娓呯┖ EquipPlaceMapConfig 瀛楀吀
-        ClearConfigDictionary<EquipPlaceMapConfig>();
-        // 娓呯┖ FamilyEmblemConfig 瀛楀吀
-        ClearConfigDictionary<FamilyEmblemConfig>();
-        // 娓呯┖ FrameAnimationConfig 瀛楀吀
-        ClearConfigDictionary<FrameAnimationConfig>();
-        // 娓呯┖ FuncConfigConfig 瀛楀吀
-        ClearConfigDictionary<FuncConfigConfig>();
-        // 娓呯┖ FuncOpenLVConfig 瀛楀吀
-        ClearConfigDictionary<FuncOpenLVConfig>();
-        // 娓呯┖ FunctionTeamSetConfig 瀛楀吀
-        ClearConfigDictionary<FunctionTeamSetConfig>();
-        // 娓呯┖ GetItemWaysConfig 瀛楀吀
-        ClearConfigDictionary<GetItemWaysConfig>();
-        // 娓呯┖ GmCmdConfig 瀛楀吀
-        ClearConfigDictionary<GmCmdConfig>();
-        // 娓呯┖ HeroAwakeConfig 瀛楀吀
-        ClearConfigDictionary<HeroAwakeConfig>();
-        // 娓呯┖ HeroConfig 瀛楀吀
-        ClearConfigDictionary<HeroConfig>();
-        // 娓呯┖ HeroQualityAwakeConfig 瀛楀吀
-        ClearConfigDictionary<HeroQualityAwakeConfig>();
-        // 娓呯┖ HeroQualityBreakConfig 瀛楀吀
-        ClearConfigDictionary<HeroQualityBreakConfig>();
-        // 娓呯┖ HeroQualityConfig 瀛楀吀
-        ClearConfigDictionary<HeroQualityConfig>();
-        // 娓呯┖ HeroSkinConfig 瀛楀吀
-        ClearConfigDictionary<HeroSkinConfig>();
+        // 娓呯┖ DungeonConfig 瀛楀吀
+        ClearConfigDictionary<DungeonConfig>();
+        // 娓呯┖ DungeonOpenTimeConfig 瀛楀吀
+        ClearConfigDictionary<DungeonOpenTimeConfig>();
+        // 娓呯┖ FaceConfig 瀛楀吀
+        ClearConfigDictionary<FaceConfig>();
+        // 娓呯┖ FamilyDonateConfig 瀛楀吀
+        ClearConfigDictionary<FamilyDonateConfig>();
+        // 娓呯┖ FBDJGEffectConfig 瀛楀吀
+        ClearConfigDictionary<FBDJGEffectConfig>();
+        // 娓呯┖ FBDJGLevelConfig 瀛楀吀
+        ClearConfigDictionary<FBDJGLevelConfig>();
+        // 娓呯┖ FBDJGQuickConfig 瀛楀吀
+        ClearConfigDictionary<FBDJGQuickConfig>();
+        // 娓呯┖ FightPowerRatioConfig 瀛楀吀
+        ClearConfigDictionary<FightPowerRatioConfig>();
+        // 娓呯┖ FirstChargeConfig 瀛楀吀
+        ClearConfigDictionary<FirstChargeConfig>();
+        // 娓呯┖ GoldRushCampConfig 瀛楀吀
+        ClearConfigDictionary<GoldRushCampConfig>();
+        // 娓呯┖ GoldRushItemConfig 瀛楀吀
+        ClearConfigDictionary<GoldRushItemConfig>();
+        // 娓呯┖ GoldRushWorkerConfig 瀛楀吀
+        ClearConfigDictionary<GoldRushWorkerConfig>();
+        // 娓呯┖ GubaoConfig 瀛楀吀
+        ClearConfigDictionary<GubaoConfig>();
+        // 娓呯┖ GubaoLVAttrConfig 瀛楀吀
+        ClearConfigDictionary<GubaoLVAttrConfig>();
+        // 娓呯┖ GubaoLVConfig 瀛楀吀
+        ClearConfigDictionary<GubaoLVConfig>();
+        // 娓呯┖ GubaoResonanceAttrConfig 瀛楀吀
+        ClearConfigDictionary<GubaoResonanceAttrConfig>();
+        // 娓呯┖ GubaoResonanceConfig 瀛楀吀
+        ClearConfigDictionary<GubaoResonanceConfig>();
+        // 娓呯┖ GubaoStarConfig 瀛楀吀
+        ClearConfigDictionary<GubaoStarConfig>();
+        // 娓呯┖ HeroFatesConfig 瀛楀吀
+        ClearConfigDictionary<HeroFatesConfig>();
+        // 娓呯┖ HeroFatesQualityLVConfig 瀛楀吀
+        ClearConfigDictionary<HeroFatesQualityLVConfig>();
+        // 娓呯┖ HeroLineupHaloConfig 瀛楀吀
+        ClearConfigDictionary<HeroLineupHaloConfig>();
+        // 娓呯┖ HeroQualityLVConfig 瀛楀吀
+        ClearConfigDictionary<HeroQualityLVConfig>();
+        // 娓呯┖ HorseClassConfig 瀛楀吀
+        ClearConfigDictionary<HorseClassConfig>();
+        // 娓呯┖ HorseSkinConfig 瀛楀吀
+        ClearConfigDictionary<HorseSkinConfig>();
+        // 娓呯┖ ItemCompoundConfig 瀛楀吀
+        ClearConfigDictionary<ItemCompoundConfig>();
         // 娓呯┖ ItemConfig 瀛楀吀
         ClearConfigDictionary<ItemConfig>();
-        // 娓呯┖ KickOutReasonConfig 瀛楀吀
-        ClearConfigDictionary<KickOutReasonConfig>();
+        // 娓呯┖ LineupRecommendConfig 瀛楀吀
+        ClearConfigDictionary<LineupRecommendConfig>();
+        // 娓呯┖ LLMJConfig 瀛楀吀
+        ClearConfigDictionary<LLMJConfig>();
         // 娓呯┖ MainChapterConfig 瀛楀吀
         ClearConfigDictionary<MainChapterConfig>();
         // 娓呯┖ MainLevelConfig 瀛楀吀
         ClearConfigDictionary<MainLevelConfig>();
+        // 娓呯┖ MGGanwuLVConfig 瀛楀吀
+        ClearConfigDictionary<MGGanwuLVConfig>();
+        // 娓呯┖ MGGuayuQualityConfig 瀛楀吀
+        ClearConfigDictionary<MGGuayuQualityConfig>();
+        // 娓呯┖ MGGuayuTypeConfig 瀛楀吀
+        ClearConfigDictionary<MGGuayuTypeConfig>();
+        // 娓呯┖ MGLingyingQualityConfig 瀛楀吀
+        ClearConfigDictionary<MGLingyingQualityConfig>();
+        // 娓呯┖ ModelConfig 瀛楀吀
+        ClearConfigDictionary<ModelConfig>();
         // 娓呯┖ NPCConfig 瀛楀吀
         ClearConfigDictionary<NPCConfig>();
+        // 娓呯┖ NPCExConfig 瀛楀吀
+        ClearConfigDictionary<NPCExConfig>();
         // 娓呯┖ NPCLineupConfig 瀛楀吀
         ClearConfigDictionary<NPCLineupConfig>();
+        // 娓呯┖ OPConfigConfig 瀛楀吀
+        ClearConfigDictionary<OPConfigConfig>();
         // 娓呯┖ OrderInfoConfig 瀛楀吀
         ClearConfigDictionary<OrderInfoConfig>();
+        // 娓呯┖ PlayerAttrConfig 瀛楀吀
+        ClearConfigDictionary<PlayerAttrConfig>();
         // 娓呯┖ PlayerFaceConfig 瀛楀吀
         ClearConfigDictionary<PlayerFaceConfig>();
-        // 娓呯┖ PlayerLVConfig 瀛楀吀
-        ClearConfigDictionary<PlayerLVConfig>();
-        // 娓呯┖ PlayerPropertyConfig 瀛楀吀
-        ClearConfigDictionary<PlayerPropertyConfig>();
-        // 娓呯┖ priorbundleConfig 瀛楀吀
-        ClearConfigDictionary<priorbundleConfig>();
-        // 娓呯┖ RealmConfig 瀛楀吀
-        ClearConfigDictionary<RealmConfig>();
-        // 娓呯┖ RealmLVUPTaskConfig 瀛楀吀
-        ClearConfigDictionary<RealmLVUPTaskConfig>();
-        // 娓呯┖ RuleConfig 瀛楀吀
-        ClearConfigDictionary<RuleConfig>();
-        // 娓呯┖ SkillConfig 瀛楀吀
-        ClearConfigDictionary<SkillConfig>();
-        // 娓呯┖ TaskConfig 瀛楀吀
-        ClearConfigDictionary<TaskConfig>();
+        // 娓呯┖ PresetUnlockConfig 瀛楀吀
+        ClearConfigDictionary<PresetUnlockConfig>();
+        // 娓呯┖ RandomNameConfig 瀛楀吀
+        ClearConfigDictionary<RandomNameConfig>();
+        // 娓呯┖ SignInConfig 瀛楀吀
+        ClearConfigDictionary<SignInConfig>();
+        // 娓呯┖ SkillSkinConfig 瀛楀吀
+        ClearConfigDictionary<SkillSkinConfig>();
+        // 娓呯┖ StoreConfig 瀛楀吀
+        ClearConfigDictionary<StoreConfig>();
+        // 娓呯┖ SuccessConfig 瀛楀吀
+        ClearConfigDictionary<SuccessConfig>();
+        // 娓呯┖ SysInfoConfig 瀛楀吀
+        ClearConfigDictionary<SysInfoConfig>();
+        // 娓呯┖ TianziConfig 瀛楀吀
+        ClearConfigDictionary<TianziConfig>();
+        // 娓呯┖ TimingGiftConfig 瀛楀吀
+        ClearConfigDictionary<TimingGiftConfig>();
+        // 娓呯┖ TimingGiftTypeConfig 瀛楀吀
+        ClearConfigDictionary<TimingGiftTypeConfig>();
+        // 娓呯┖ TitleConfig 瀛楀吀
+        ClearConfigDictionary<TitleConfig>();
         // 娓呯┖ TitleStarUpConfig 瀛楀吀
         ClearConfigDictionary<TitleStarUpConfig>();
-        // 娓呯┖ TreasureCntAwardConfig 瀛楀吀
-        ClearConfigDictionary<TreasureCntAwardConfig>();
-        // 娓呯┖ TreasureItemLibConfig 瀛楀吀
-        ClearConfigDictionary<TreasureItemLibConfig>();
+        // 娓呯┖ TravelEventConfig 瀛楀吀
+        ClearConfigDictionary<TravelEventConfig>();
+        // 娓呯┖ TravelSceneryConfig 瀛楀吀
+        ClearConfigDictionary<TravelSceneryConfig>();
         // 娓呯┖ TreasureSetConfig 瀛楀吀
         ClearConfigDictionary<TreasureSetConfig>();
         // 娓呯┖ TreeLVConfig 瀛楀吀
         ClearConfigDictionary<TreeLVConfig>();
+        // 娓呯┖ WindowSearchConfig 瀛楀吀
+        ClearConfigDictionary<WindowSearchConfig>();
         // 娓呯┖ XBGetItemConfig 瀛楀吀
         ClearConfigDictionary<XBGetItemConfig>();
+        // 娓呯┖ ZhanlingConfig 瀛楀吀
+        ClearConfigDictionary<ZhanlingConfig>();
     }
 
 #if UNITY_EDITOR
@@ -384,7 +497,9 @@
             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;

--
Gitblit v1.8.0