From 7745988457bd6dd88949e5ef438f92f96c043ec8 Mon Sep 17 00:00:00 2001 From: ninemine <1371605831@qq.com> Date: Fri, 19 Dec 2025 17:51:33 +0800 Subject: [PATCH] =?UTF-8?q?MaterialUpdatement=20Config=E6=AD=A3=E5=9C=A8?= =?UTF-8?q?=E6=9B=B4=E6=96=B0,=20=E5=90=8C=E6=97=B6=E5=87=86=E5=A4=87?= =?UTF-8?q?=E5=B0=86=E5=85=B6=E9=98=BB=E5=A1=9ELoad=E6=9B=BF=E6=8D=A2?= =?UTF-8?q?=E4=B8=BA=E4=B8=8E=E5=A4=A9=E7=A9=BA=E7=9B=92=E7=9B=B8=E5=90=8C?= =?UTF-8?q?=E7=9A=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scripts/MaterialUpdatement.cs | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/Assets/Scripts/MaterialUpdatement.cs b/Assets/Scripts/MaterialUpdatement.cs index 8a66994..c3eb3b7 100644 --- a/Assets/Scripts/MaterialUpdatement.cs +++ b/Assets/Scripts/MaterialUpdatement.cs @@ -27,6 +27,16 @@ namespace Demo.Game public override void Serialize(BinaryWriter writer) { BinarySerializeUtility.WriteString(writer, MaterialAssetBundlePath); + var uo = (MaterialUpdatement)target; + int e = uo.NameCache.Count; + int i = 0; + MaterialNames = new string[e]; + MaterialIndexs = new int[e]; + foreach (var item in uo.NameCache) + { + MaterialNames[i] = item.Key; + MaterialIndexs[i] = item.Value; + } BinarySerializeUtility.SerializeArray(writer, MaterialNames); BinarySerializeUtility.SerializeArray(writer, MaterialIndexs); base.Serialize(writer); @@ -45,10 +55,15 @@ namespace Demo.Game return new GameObject().AddComponent(); } - private readonly Dictionary NameCache = new(); - private readonly Dictionary MaterialCache = new(); + internal readonly Dictionary NameCache = new(); + internal readonly Dictionary IndexCache = new(); + internal readonly Dictionary MaterialCache = new(); - public string MaterialAssetBundlePath = null; + public string MaterialAssetBundlePath + { + get => GetConfig().MaterialAssetBundlePath; + set => GetConfig().MaterialAssetBundlePath = value; + } public AssetBundle MaterialAssetBundle = null; protected override int Lerp(int begin, int end, float t)