MaterialUpdatement Config正在更新, 同时准备将其阻塞Load替换为与天空盒相同的逻辑

This commit is contained in:
2025-12-19 17:51:33 +08:00
parent 6c66a5c515
commit 7745988457

View File

@@ -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<MaterialUpdatement>();
}
private readonly Dictionary<string, int> NameCache = new();
private readonly Dictionary<int, Material> MaterialCache = new();
internal readonly Dictionary<string, int> NameCache = new();
internal readonly Dictionary<int, Material> IndexCache = new();
internal readonly Dictionary<int, Material> MaterialCache = new();
public string MaterialAssetBundlePath = null;
public string MaterialAssetBundlePath
{
get => GetConfig<MaterialUpdatementConfig>().MaterialAssetBundlePath;
set => GetConfig<MaterialUpdatementConfig>().MaterialAssetBundlePath = value;
}
public AssetBundle MaterialAssetBundle = null;
protected override int Lerp(int begin, int end, float t)