From 8445b9ee122ed1fbb4ad31f7e9da35406f7dc182 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期五, 21 十一月 2025 17:08:51 +0800
Subject: [PATCH] 262 幻境阁系统-客户端 邮件富文本支持
---
Main/Config/ConfigBase.cs | 66 ++++++++++++++++++++++-----------
1 files changed, 44 insertions(+), 22 deletions(-)
diff --git a/Main/Config/ConfigBase.cs b/Main/Config/ConfigBase.cs
index acadfe4..e51fef1 100644
--- a/Main/Config/ConfigBase.cs
+++ b/Main/Config/ConfigBase.cs
@@ -7,49 +7,67 @@
public class ConfigBase<U, T> where T : ConfigBase<U, T>, new()
{
- public static Dictionary<U, T> dic = new Dictionary<U, T>();
+ /// <summary>
+ /// 鏄惁璁块棶杩囬潤鎬佹瀯閫犲嚱鏁�
+ /// </summary>
+ public static bool visit = false;
+
+ static ConfigBase()
+ {
+ if (isInit)
+ {
+ return;
+ }
+
+ LazyInit();
+ }
+
+ private static Dictionary<U, T> m_dic = new Dictionary<U, T>();
+
+ public static Dictionary<U, T> dic
+ {
+ get
+ {
+ return m_dic;
+ }
+ }
public static bool isInit = false;
public static T Get(U id)
{
- LazyInit();
-
- if (dic.ContainsKey(id))
+ if (m_dic.ContainsKey(id))
{
- return dic[id];
+ return m_dic[id];
}
return null;
}
- public static void ForceInit()
- {
- ConfigManager.Instance.LoadConfigByType(typeof(T));
- }
+ // public static void ForceRelease()
+ // {
+ // m_dic.Clear();
+ // isInit = false;
+ // }
public static List<U> GetKeys()
{
- LazyInit();
List<U> result = new List<U>();
- result.AddRange(dic.Keys);
+ result.AddRange(m_dic.Keys);
return result;
}
public static List<T> GetValues()
{
- LazyInit();
List<T> result = new List<T>();
- result.AddRange(dic.Values);
+ result.AddRange(m_dic.Values);
return result;
}
public static bool HasKey(U key)
{
- LazyInit();
-
- return dic.ContainsKey(key);
+ return m_dic.ContainsKey(key);
}
public static void LazyInit()
@@ -63,7 +81,10 @@
public static void Init(string[] lines)
{
- dic.Clear();
+ if (isInit)
+ {
+ return;
+ }
for (int i = 3; i < lines.Length; i++)
{
@@ -83,7 +104,7 @@
try
{
#endif
- dic.Add(key, config);
+ m_dic.Add(key, config);
#if UNITY_EDITOR
}
catch (ArgumentException exception)
@@ -93,10 +114,11 @@
#endif
}
- foreach (var cfg in dic.Values)
- {
- cfg.AllConfigLoadFinish();
- }
+
+ // foreach (var cfg in m_dic.Values)
+ // {
+ // cfg.AllConfigLoadFinish();
+ // }
isInit = true;
}
--
Gitblit v1.8.0