diff --git a/Common/Data/GameData.cs b/Common/Data/GameData.cs index ac1ae0ad..062a7684 100644 --- a/Common/Data/GameData.cs +++ b/Common/Data/GameData.cs @@ -58,7 +58,7 @@ public static class GameData public static Dictionary MazeSkillData { get; private set; } = []; public static Dictionary AvatarSkinData { get; private set; } = []; public static Dictionary AvatarDemoConfigData { get; private set; } = []; - public static Dictionary ExpTypeData { get; } = []; + public static Dictionary ExpTypeData { get; private set; } = []; public static Dictionary MultiplePathAvatarConfigData { get; private set; } = []; @@ -125,7 +125,7 @@ public static class GameData public static Dictionary QuestDataData { get; private set; } = []; public static Dictionary FinishWayData { get; private set; } = []; - public static Dictionary PlayerLevelConfigData { get; } = []; + public static Dictionary PlayerLevelConfigData { get; private set; } = []; public static Dictionary BackGroundMusicData { get; private set; } = []; public static Dictionary ChatBubbleConfigData { get; private set; } = []; public static Dictionary RechargeConfigData { get; private set; } = []; @@ -148,7 +148,7 @@ public static class GameData #region Maze [JsonConverter(typeof(ConcurrentDictionaryConverter))] - public static ConcurrentDictionary FloorInfoData { get; } = []; + public static ConcurrentDictionary FloorInfoData { get; private set; } = []; public static Dictionary NpcDataData { get; private set; } = []; public static Dictionary MapEntranceData { get; private set; } = []; @@ -193,7 +193,7 @@ public static class GameData public static Dictionary ItemConfigData { get; private set; } = []; public static Dictionary ItemUseBuffDataData { get; private set; } = []; public static Dictionary EquipmentConfigData { get; private set; } = []; - public static Dictionary EquipmentExpTypeData { get; } = []; + public static Dictionary EquipmentExpTypeData { get; private set; } = []; public static Dictionary EquipmentExpItemConfigData { get; private set; } = []; public static Dictionary EquipmentPromotionConfigData { get; private set; } = diff --git a/Common/Data/ResourceCache.cs b/Common/Data/ResourceCache.cs index fea2c3af..2682d825 100644 --- a/Common/Data/ResourceCache.cs +++ b/Common/Data/ResourceCache.cs @@ -142,12 +142,21 @@ public class ResourceCache typeof(GameData).GetProperties(BindingFlags.Public | BindingFlags.Static), prop => { - if (cacheData.GameDataValues.TryGetValue(prop.Name, out var valueBytes)) - prop.SetValue(null, JsonConvert.DeserializeObject( - Encoding.UTF8.GetString( - CompressionHelper.Decompress(valueBytes)), prop.PropertyType, Serializer - ) - ); + try + { + Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadingItem", $"{prop.DeclaringType?.Name}.{prop.Name}")); + if (cacheData.GameDataValues.TryGetValue(prop.Name, out var valueBytes)) + prop.SetValue(null, JsonConvert.DeserializeObject( + Encoding.UTF8.GetString( + CompressionHelper.Decompress(valueBytes)), prop.PropertyType, Serializer + ) + ); + } + catch (Exception e) + { + Logger.Error(I18NManager.Translate("Server.ServerInfo.FailedToLoadItem", $"{prop.DeclaringType?.Name}.{prop.Name}")); + Logger.Error(e.Message); + } } );