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 | 188 +++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 180 insertions(+), 8 deletions(-)
diff --git a/Main/Config/ConfigManager.cs b/Main/Config/ConfigManager.cs
index 3c07753..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,33 +38,77 @@
// 鍔犺浇閰嶇疆鏂囦欢
HashSet<Type> configTypes = new HashSet<Type>() {
+ typeof(ADAwardConfig),
+ typeof(BattleMapConfig),
+ typeof(BeautyConfig),
+ typeof(BeautyQualityLVConfig),
+ typeof(BeautySkinConfig),
typeof(ChestsAwardConfig),
typeof(CTGConfig),
+ typeof(DailyTaskConfig),
typeof(DamageNumConfig),
typeof(DirtyWordConfig),
+ 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(InvestConfig),
+ typeof(HorseClassConfig),
+ typeof(HorseSkinConfig),
+ typeof(ItemCompoundConfig),
typeof(ItemConfig),
+ 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(PriorBundleConfig),
+ 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(TravelEventConfig),
+ typeof(TravelSceneryConfig),
typeof(TreasureSetConfig),
typeof(TreeLVConfig),
typeof(WindowSearchConfig),
- typeof(XBGetItemConfig)
+ typeof(XBGetItemConfig),
+ typeof(ZhanlingConfig)
};
#if UNITY_EDITOR
@@ -139,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;
@@ -166,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;
@@ -214,52 +296,138 @@
public override void Release()
{
+ // 娓呯┖ ADAwardConfig 瀛楀吀
+ ClearConfigDictionary<ADAwardConfig>();
+ // 娓呯┖ BattleMapConfig 瀛楀吀
+ ClearConfigDictionary<BattleMapConfig>();
+ // 娓呯┖ BeautyConfig 瀛楀吀
+ ClearConfigDictionary<BeautyConfig>();
+ // 娓呯┖ BeautyQualityLVConfig 瀛楀吀
+ ClearConfigDictionary<BeautyQualityLVConfig>();
+ // 娓呯┖ BeautySkinConfig 瀛楀吀
+ ClearConfigDictionary<BeautySkinConfig>();
// 娓呯┖ ChestsAwardConfig 瀛楀吀
ClearConfigDictionary<ChestsAwardConfig>();
// 娓呯┖ CTGConfig 瀛楀吀
ClearConfigDictionary<CTGConfig>();
+ // 娓呯┖ DailyTaskConfig 瀛楀吀
+ ClearConfigDictionary<DailyTaskConfig>();
// 娓呯┖ DamageNumConfig 瀛楀吀
ClearConfigDictionary<DamageNumConfig>();
// 娓呯┖ DirtyWordConfig 瀛楀吀
ClearConfigDictionary<DirtyWordConfig>();
+ // 娓呯┖ 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>();
- // 娓呯┖ InvestConfig 瀛楀吀
- ClearConfigDictionary<InvestConfig>();
+ // 娓呯┖ HorseClassConfig 瀛楀吀
+ ClearConfigDictionary<HorseClassConfig>();
+ // 娓呯┖ HorseSkinConfig 瀛楀吀
+ ClearConfigDictionary<HorseSkinConfig>();
+ // 娓呯┖ ItemCompoundConfig 瀛楀吀
+ ClearConfigDictionary<ItemCompoundConfig>();
// 娓呯┖ ItemConfig 瀛楀吀
ClearConfigDictionary<ItemConfig>();
+ // 娓呯┖ 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>();
- // 娓呯┖ PriorBundleConfig 瀛楀吀
- ClearConfigDictionary<PriorBundleConfig>();
+ // 娓呯┖ 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>();
+ // 娓呯┖ TravelEventConfig 瀛楀吀
+ ClearConfigDictionary<TravelEventConfig>();
+ // 娓呯┖ TravelSceneryConfig 瀛楀吀
+ ClearConfigDictionary<TravelSceneryConfig>();
// 娓呯┖ TreasureSetConfig 瀛楀吀
ClearConfigDictionary<TreasureSetConfig>();
// 娓呯┖ TreeLVConfig 瀛楀吀
@@ -268,6 +436,8 @@
ClearConfigDictionary<WindowSearchConfig>();
// 娓呯┖ XBGetItemConfig 瀛楀吀
ClearConfigDictionary<XBGetItemConfig>();
+ // 娓呯┖ ZhanlingConfig 瀛楀吀
+ ClearConfigDictionary<ZhanlingConfig>();
}
#if UNITY_EDITOR
@@ -327,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