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