From 1eeb91c3bb7a1e4ef7c380eef9331aca5b37f193 Mon Sep 17 00:00:00 2001 From: m0_75251201 Date: Mon, 14 Jul 2025 11:40:55 +0800 Subject: [PATCH] =?UTF-8?q?(client)=20feat:=E6=B7=BB=E5=8A=A0=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E7=9A=84=E7=B1=BB=E5=9E=8B=E5=90=8D=E7=A7=B0=E9=93=BE?= =?UTF-8?q?=E6=8E=A5=E7=B4=A2=E5=BC=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Assets/Scripts/Managers/DefineManager.cs | 33 ++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/Client/Assets/Scripts/Managers/DefineManager.cs b/Client/Assets/Scripts/Managers/DefineManager.cs index 776a6f9..bdd79a2 100644 --- a/Client/Assets/Scripts/Managers/DefineManager.cs +++ b/Client/Assets/Scripts/Managers/DefineManager.cs @@ -21,8 +21,39 @@ namespace Managers var pack = new DefinePack(); if (pack.LoadPack(folder)) packs.Add(pack.packID, pack); } - } + foreach (var pack in packs) + { + foreach (var define in pack.Value.defines) + { + var typeName=define.Key; + var defList=define.Value; + if (!defines.ContainsKey(typeName)) + defines[typeName] = new Dictionary(); + foreach (var def in defList) + { + defines[typeName][def.defName] = def; + } + } + } + } + /// + /// 查找指定定义类型的定义名对应的 Define 对象。 + /// + /// 定义类型 + /// 定义名 + /// 如果找到,返回 Define 对象;否则返回 null。 + public Define FindDefine(string defineType, string defineName) + { + if (defines.TryGetValue(defineType, out var typeDict)) + { + if (typeDict.TryGetValue(defineName, out var define)) + { + return define; + } + } + return null; + } public override string ToString() { if (packs == null || packs.Count == 0)