ET6.0 中的配置檔讀取及解析
注意:目前配置檔讀取適合的是 1類1文件形式 (下期擴展1類多文件形式)
ET6.0 的配置檔讀取,Server和Client使用的是同一套邏輯,只是讀取資源唠梨,加載方式不同
Excel -> json -> class -> bytes
重點說下加載方式 和 轉(zhuǎn)化為類:
Server: 主要是通過IO的形式
foreach (string file in Directory.GetFiles(paths[i], "*.bytes"))
{
string key = Path.GetFileNameWithoutExtension(file);
output[key] = File.ReadAllBytes(file);
}
Client: 其實是將Config目錄設(shè)置了ab名,使用的ab模式去加載
Dictionary<string, UnityEngine.Object> keys = ResourcesComponent.Instance.GetBundleAll("config.unity3d");
foreach (var kv in keys)
{
TextAsset v = kv.Value as TextAsset;
string key = kv.Key;
output[key] = v.bytes;
}
轉(zhuǎn)化為類:
byte[] oneConfigBytes = configBytes[configType.Name];
object category = ProtobufHelper.FromBytes(configType, oneConfigBytes, 0, oneConfigBytes.Length);
lock (self)
{
self.AllConfig[configType] = category;
}